Событие jquery click не работает ... или вообще ничего не делает ... - PullRequest
0 голосов
/ 03 августа 2011

Не уверен, почему код ниже не работает ... Я пробовал несколько вариантов:

$('button.mytestbutton').live('click', function() ... 
$('button.mytestbutton').bind('click', function() ...
$('button.mytestbutton').click(function() ...

и т. Д. И т. Д. Я также попытался вставить return false; до закрытия});

В firebug я ничего не получаю в консоли. Абсолютно нет никаких признаков того, что на нее вообще нажимали ... Есть ли что-то в "кнопке", которая мешает мне сделать это?

Вот текущая итерация jquery:

  $('button.mytestbutton').live('click', function() {
    $('#progress').append('Ok, I clicked it.');
    return false;
  });

Вот HTML:

<button class="mytestbutton">Test</button>
<div id="progress"></div>

Я также не вижу никаких ошибок в Firebug при начальной загрузке страницы, и когда я проверяю теги <script></script>, я вижу js там ... Не уверен, куда идти отсюда ...

Ответы [ 4 ]

1 голос
/ 03 августа 2011

Убедитесь, что ваши события прикреплены после полной загрузки DOM.

$(function(){

// event binding code can go here.

});

Это эквивалентно $(document).ready(function(){});

0 голосов
/ 03 августа 2011

просто используйте $('button.mytestbutton').click(); (не объявляйте новую функцию внутри click (). Которая переопределяет первую)

EDIT:

если я не совсем вас понял: P

0 голосов
/ 03 августа 2011

Возможно, это ошибка в другой части вашего скрипта ... Это случилось и со мной, без ошибки firebug, вы должны проверить весь свой код js

0 голосов
/ 03 августа 2011

Я сделал это здесь: http://jsfiddle.net/8y7Aw/, и он работал отлично.Могут ли быть другие идентификаторы JavaScript или HTML, которые мешают выполнению действия?Это даже работает, когда я использую .click вместо .live.

...