我正在将我的网站上的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:对象#没有方法'模糊'
由于
答案 0 :(得分:4)
this
是对DOM对象的引用,而不是对jQuery对象的引用。
请改为尝试:
$(this).blur();
或:
$(this).trigger('blur');
或在您的代码中使用o
代替$(this)
答案 1 :(得分:3)
我可能错了,但您尝试过使用$(this).blur()而不是this.blur吗?因为它是一个jQuery函数......
编辑:抱歉,我在回答之前没有刷新页面