我正在使用handontable jQuery插件。当用户停止编辑单元格时,我试图拦截。双击单元格时,该单元格的位置会出现类handsontableInput
的文本区域。
使用jQuery我试图在用户点击其他地方时收到回调,从而失去了textarea的焦点。
以下是简单的焦点代码:
$(".handsontableInput").focusout(function () {
alert("LLL");
});
这是我的fiddle。
另外,如果带有handontable的页面在一个框架中,并且我在框架外单击了吗?
谢谢
答案 0 :(得分:6)
您应该使用.on
方法:
$("#exampleGrid").on('focusout','.handsontableInput',function () {
alert("LLL");
});
JSFIDDLE:http://jsfiddle.net/edi9999/HEH5C/1/
您的代码存在的问题是,在执行$(".handsontableInput")
时,它们不是此类的元素,因此该事件未附加到任何元素。
答案 1 :(得分:3)
像这样委托事件:
$("#exampleGrid").on('focusout',".handsontableInput",function () {
console.log("LLL");
});
答案 2 :(得分:2)
您需要使用事件委派,因为.handsontableInput
正在动态生成
$(document.body).on('focusout',".handsontableInput",function () {
console.log("LLL");
});
演示--->
http://jsfiddle.net/HEH5C/2/
答案 3 :(得分:1)
已经有一个动手的事件可以做到这一点。 你可以使用它自己的事件:
afterChange (changes: Array, source: String)
虽然此事件的主要描述是“在更改一个或多个单元格后触发了回调”,但即使没有更改,也会调用它,只需使用{oldValue
和newValue
changes
1}}数组是一样的。因此,当编辑结束并失去焦点时会调用此事件,这就是您想要的。
有关双手活动的更多详情,请查看here