jQuery прекратить событие клика от всплывающего окна при использовании $ .get () - PullRequest
1 голос
/ 04 августа 2010

Я назначил событие click для кнопки, которая извлекает другой фрагмент HTML и внедряет его в элемент DIV, используя метод .html (string).

$('#btnClose').click(function(){ 
   $.get('Content.html',function(data) {
      $('#EditCategory').html(data); 
   }); 
});

Страница Content.html выглядит следующим образом:

<button id="btnNewCategory" type="button">Add new category</button>
<script type="text/javascript">
   $('#btnNewCategory').click(alert('Test'));
</script>

Каждый раз, когда я нажимаю кнопку «#btnClose», отображается содержимое HTML-кода, но появляется предупреждение («Тест») также уволен.Я попытался stopPropagation (), protectDefault () и вернуть ложь;и не было радости.Может кто-нибудь пролить свет на то, что я делаю неправильно ???

1 Ответ

1 голос
/ 04 августа 2010

Ваш обработчик должен выглядеть следующим образом:

$('#btnNewCategory').click(function() {
  alert('Test')
});

То, что у вас есть в данный момент, - это alert('Test') немедленно и попытка присвоить результат обработчику щелчков, если вы хотитечтобы запустить его при нажатии, используйте анонимную функцию, как у меня выше.

Это не проблема распространения, читайте здесь для лучшего понимания этого , но обязательной :)

...