jQuery .live()事件绑定的问题!

时间:2010-08-25 06:53:11

标签: jquery

我面临着jQuery live event binding的一个非常奇怪的问题

  
$(document).ready(function (){
 $('select').live('change', function () {
  // works fine 
 }); 
 $('input:checkbox').live('click', function () {
  // doesn't work! 
 });
});
如果我切换订单,
 
$(document).ready(function (){
 $('input:checkbox').live('click', function () {
  // works fine 
 });
$('select').live('change', function () { // doesn't work! });
});

换句话说,问题是只有第一个实时绑定实际通过并正常工作!我不确定这是否是一个合乎逻辑的问题!

任何想法?

2 个答案:

答案 0 :(得分:1)

您遇到语法错误:

$('input:checkbox').live('click', function () {
    // works fine 
});

$('select').live('change', function () {
    // should be working now
});

请注意我添加的);

编辑现在您已经更新了问题,我的回答没有意义。但是,我猜你在这两行之间有附加代码,并且该代码引发错误,这会停止第二行{{1来自被叫的呼叫。

这只是一个猜测,不过......

答案 1 :(得分:0)

您需要关闭括号。这是一个working example

$(function() {
    $('select').live('change', function() {
        alert('change');
    }); 
    $('input:checkbox').live('click', function() {
        alert('click'); 
    }); 
}); ​