在jquery升级中,jquery .live到.on

时间:2013-07-15 15:56:44

标签: javascript jquery

我正在将我的网站上的jQuery从1.4.2升级到jQuery v1.10.1。 我正在将所有.live函数更改为.on。 现在我无法更换其中一个。

function tb_init(domChunk){
    $(domChunk).live('click', function(){
        var t = this.title || this.name || null;
        var c = $(this).parent().parent().find('.quotation').html();
        var a = this.href || this.alt;
        var g = this.rel || false;
        var o = $(this);
        tb_show2(t,c,a,g,o);
        this.blur();
        return false;
    });
}

我尝试将其更改为:

$(document).on("click", domChunk, function() {

$(document).on("click", $(domChunk), function() {

但两者似乎都不起作用。 domChunk本身就是一个这样的选择器:"#myid li" 我得到的错误是:未捕获TypeError:对象#没有方法'模糊'

由于

2 个答案:

答案 0 :(得分:4)

this是对DOM对象的引用,而不是对jQuery对象的引用。

请改为尝试:

$(this).blur();

或:

$(this).trigger('blur');

或在您的代码中使用o代替$(this)

答案 1 :(得分:3)

我可能错了,但您尝试过使用$(this).blur()而不是this.blur吗?因为它是一个jQuery函数......

编辑:抱歉,我在回答之前没有刷新页面