проверьте, нажата ли кнопка в javascript



Как проверить, нажата кнопка или нет в прототипе javascript?



$('activateButton').observe('click', function(event) 
{
alert(hi);
});


Приведенный выше код не работает. Пожалуйста, помогите

2551   2  

2 ответов:

С помощью этой кнопки:

<button id="mybutton">Click Me</button>

Используйте это:

$('mybutton').observe('click', function () {
  alert('Hi');
});

Испытано и работает, здесь .

Вы можете поместить его в document.observe('dom:loaded', function () { }) штуковину, чтобы предотвратить его выполнение до загрузки страницы.

Также, просто объяснение:

Единственный знак доллара в прототипе выбирает элемент по его идентификатору. Функция .observe очень похожа на функцию jQuery .on, так как она предназначена для привязки обработчика событий к элементу.

Также, если вам это нужно будьте постоянной "кнопкой уже нажатой", попробуйте это:

$('mybutton').observe('click', function () {
  var clicked = true;
  window.clicked = clicked;
});

И затем, если вы хотите проверить, была ли нажата кнопка, то вы можете сделать следующее:

if (clicked) {
  // Button clicked
} else {
  // Button not clicked
}
Это может помочь, если вы пытаетесь создать форму, в которой вы не хотите, чтобы пользователь нажимал несколько раз.

Как это можно сделать в jQuery, просто для справки:

$('#mybutton').on('click', function () {
  alert('Hi');
});

Обратите внимание, что код jQuery, упомянутый выше, также может быть сокращен до:

$('#mybutton').click(function () {
  alert('Hi');
});

JQuery лучше в прототипе, в что он объединяет использование функций прототипа $ и $$ в единую функцию, $. Это не только возможность выбора элементов через их id, но и с помощью других возможных методов выбора css.

Как это можно сделать с помощью простого JavaScript:

document.getElementById('mybutton').onclick = function () {
  alert('Hi');
}

Просто для полной справки, на случай, если она вам понадобится.

$('body').delegate('.activateButton', 'click', function(e){
  alert('HI');
});

Comments

    Ничего не найдено.