Почему jQuery не связывается с кликом? - PullRequest
0 голосов
/ 31 января 2011

Почему jQuery не привязывается к событию click? Когда я нажимаю на выбранные, они не предупреждают, за исключением того, на котором я нажимаю.

<html>
<head>
<title>Robo</title>

<script type="text/javascript" src="jquery-1.4.2.min.js"></script><script type="text/javascript">

$('.changer').click(function(){alert('test');});


</script>
</head>
<body>

<select class="changer" name="dept" id="dept_select">
    <option value="">Select a Department</option>
</select>

<select onclick="alert('ya');" class="changer" name="course" id="course_select">
    <option value="">Select a Course</option>
</select>
<select class="changer" name="section" id="section_select">
    <option value="">Select a Section</option>
</select>

</body>
</html>

Ответы [ 5 ]

4 голосов
/ 31 января 2011

Поскольку элементы .changer недоступны в DOM, когда вы связываете обработчики кликов.Вы можете сделать две вещи:

Использовать готовый обработчик событий jQuery

 $.ready(function(){
      $('.changer').click(function(){
        alert('test');
      });
    });

или Использовать функцию live.

2 голосов
/ 31 января 2011

Вам нужно обернуть ваш код в обработчик ready :

$(function(){
  $('.changer').click(function(){alert('test');});
});
1 голос
/ 31 января 2011

Вы должны обернуть синтаксис обработчик dg .ready .

<script type="text/javascript">
$(document).ready( function(){
   $('.changer').click(function(){alert('test');});
});
</script>

Этот метод используется для указания функции, выполняемой при полной загрузке DOM.

1 голос
/ 31 января 2011

Вы также можете использовать функцию делегата ...

$('.changer').delegate('click',function(){
   alert('test'); 
 });
1 голос
/ 31 января 2011

Оберните ваш jQuery в готовое событие:

$(function() {
    $('.changer').click(function(){alert('test');});
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...