首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么带focusout方法的jQuery不能触发focusout事件?

为什么带focusout方法的jQuery不能触发focusout事件?
EN

Stack Overflow用户
提问于 2013-07-15 17:59:59
回答 4查看 15.2K关注 0票数 3

我使用的是handsontable jQuery插件。当用户停止编辑单元格时,我正在尝试拦截。当您双击一个单元格时,在该单元格的位置上会出现一个类为handsontableInput的文本区域。

使用jQuery时,我试图在用户单击其他地方时获取回调,这样就失去了文本区域的焦点。

下面是简单的focusout代码:

代码语言:javascript
复制
$(".handsontableInput").focusout(function () {
    alert("LLL");
});

这是我的fiddle

另外,如果包含手音台的页面在框架中,并且我在框架外单击,这是否有效?

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-07-15 18:05:57

您应该使用.on方法:

代码语言:javascript
复制
$("#exampleGrid").on('focusout','.handsontableInput',function () {
    alert("LLL");
});

JSFIDDLE:http://jsfiddle.net/edi9999/HEH5C/1/

您的代码的问题是,在执行$(".handsontableInput")的时候,它们不是该类的元素,所以事件没有附加到任何元素。

票数 10
EN

Stack Overflow用户

发布于 2013-07-15 18:05:25

委托事件如下所示:

代码语言:javascript
复制
$("#exampleGrid").on('focusout',".handsontableInput",function () {
    console.log("LLL");
});
票数 3
EN

Stack Overflow用户

发布于 2013-07-15 18:05:36

您需要使用事件委派,因为.handsontableInput是动态生成的

代码语言:javascript
复制
$(document.body).on('focusout',".handsontableInput",function () {
    console.log("LLL");
});

演示---> http://jsfiddle.net/HEH5C/2/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17651511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档