我的jQuery-foo不适合这个。我已经搜索过,找不到匹配的问题,所以我觉得我做错了。
客户端正在使用IE9(woot)。代码在FF&铬。
我的页面通过ajax定期刷新表中的数据,然后通过jQuery更新html。当用户完成输入文本时,我想知道表格中有一个textarea,这样我就可以将新数据写入数据库。我正在使用模糊并等待在textarea之外的任何地方点击以触发ajax(无提交按钮)。除IE9之外的工作正常,如果用户点击另一个textarea ,只能捕获模糊。因此,如果用户完成输入并点击页面上的其他位置(除了另一个textarea之外),在IE9中就会错过模糊。
由于动态更新的html,我不能做一个简单的事情:
$('.comments').on('blur', function () {
doStuff();
})
我相信我需要委托模糊功能,因为textareas会定期动态更新:
$('#table1').on('blur', '.comments', function () {
doStuff();
})
除了IE9之外,它可以在任何地方使用,只有当用户点击另一个textarea时它才能工作。
我尝试过使用
$(document) instead of $('#table1')
两者的工作方式完全相同(虽然我知道效率有点不同)。
有什么想法?我想我可以使用带有计时器的keyUp,但是当当前代码在IE9之外工作时,这似乎有点傻。尝试使用mouseout但这显然不适合多个textareas ...... ???
答案 0 :(得分:0)
我会在这里发帖,因为这可能会帮助将来有类似问题的人。
问题是,我有一个第三方(tablesorter)正在调用另一个脚本(解析器),它将第二个模糊以及相当多的其他侦听器添加到相同的输入上。他们互相踩到对方,互相取消,造成问题。
大多数浏览器没有问题,但IE9确实存在问题。不是IE9的错,我试图做得太多了。
导致我出错的关键提示是我的模糊在没有输入textarea时会起作用。所以如果我点击然后点击 - 完美。但是,在打字然后点击时,什么都没有。这让我觉得有些事情正在踩着模糊......而且确实如此。
HTH某人