как захватить событие нажатия динамически сгенерированной кнопки в JQuery - PullRequest
1 голос
/ 18 декабря 2009

я вижу, что есть этот синтаксис для обнаружения любого нажатия кнопки

<script type="text/javascript">
        $(document).ready(function() {
        $(":button").click(function(event) {
                alert("Thanks for visiting!" + this.value);
            });
        });
    </script>

но что, если я хочу обнаружить только определенную кнопку на странице?

РЕДАКТИРОВАТЬ: это кажется хорошим для кнопок, которые настраиваются в начале, но в моем случае я создаю их динамически с помощью jquery. кажется, эти кнопки не попадают в этот код. любые идеи

Ответы [ 3 ]

5 голосов
/ 18 декабря 2009

Вам нужно привязать функцию "click" к функции / событию jQuery " live ", чтобы это работало. Я бы также рекомендовал использовать специальный класс CSS или идентификатор для динамически генерируемой кнопки. Вот описание в прямом эфире даже с jQuery.com.

Когда вы связываете «живое» событие, оно будет привязать ко всему настоящему и будущему элементы на странице (используя событие делегация). Например, если вы связаны живой щелчок ко всем элементам "li" на страница затем добавила еще один li на позднее время - это событие клика будет продолжать работать на новый элемент (это не тот случай, когда связывание необходимо повторно привязать ко всем новым элементам).

<script type="text/javascript">
   $(document).ready(function() {
      //$(":button") would select all buttons
      //.className would work on an button with a CSS Class assignment of ClassName
      //Below shows how to do it on a specific ID
      $("#MyNewButtonID").live("click", function(event) {
         alert("Thanks for visiting!" + this.value);
      });
   });
</script>
0 голосов
/ 18 декабря 2009

используйте правильный селектор для определения нужных кнопок (http://docs.jquery.com/Selectors) затем добавьте функциональность клика.

$ (": кнопка") выбирает ВСЕ кнопки. Вы хотите ограничить это конкретным набором, который вам нужен

0 голосов
/ 18 декабря 2009

Дайте вводу идентификатор или класс, затем используйте $(".class:button") или $("#id:button")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...