如何在jQuery中让一个元素通过另一个尚不存在的元素事件live()

3
// for example
$('#text').die('focusout');

//then I try to make it live() with a button that just exist
$('#button').live('click', function(){
    $('#text').live('focusout');
});

当我点击 #button 时,Firebug 告诉我 jQuery.js 出现了问题。如何解决这样的问题?

你可以随时调用 $('#text').live('focusout', function(){ /.. /});,假设已经加载了jQuery。在按钮单击时调用它对我来说没有意义。 - artlung
2个回答

2

live有一个第二个参数,你漏掉了一个函数

function liveConvert( type, selector ) {
    return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspaces, "&");
}

这里的选择器未定义,导致失败。


即使有第二个参数,它也没有任何作用,脚本太复杂了。无论如何还是谢谢你。:D - Iseng Aja

0

在 $('#text').live('focusout'); 中,你需要将一个函数作为第二个参数传递进去。如果没有回调函数的参数,那么这行代码就没有任何功能了。

可以尝试这样:

$('#text').live('focusout', function(){
    //do logic here.
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接