![](/img/trans.png)
[英]JavaScript / Jquery IE8 Issue, Click event on IE8 does not work, why?
[英]IE8 click event issue
我有一个JQuery(1.8)Datatable(1.10),其中一些字段是就地可编辑的,即点击它们会创建一个输入元素,可以输入新数据来更新表格。
在IE8中(但不在Chrome或Firefox中,我没有以后的IE版本),在可编辑字段中按return
似乎也会在表格外的按钮上生成“点击”事件。 这很不幸,因为此按钮打开一个Bootstrap模式对话框。
为什么这可能会发生,解决它的最佳方法是什么? AFAICT没有输入字段的单击处理程序(有一个keyup处理程序返回false以停止传播)。 目前我假设这是一个涉及IE8如何以不同方式处理事件的某种问题,但我不确定如何在此按钮上生成点击事件。
输入事件侦听器是:
_setupEventListeners: function (tableEditor) {
// Listen for key presses to trigger any finalisation actions
this.element.on('keyup', function (event) {
switch (event.keyCode) {
// return or enter keys
case KEYCODE_ENTER:
tableEditor.saveAndClose();
break;
// esc key
case KEYCODE_ESCAPE:
tableEditor.revertAndClose();
break;
}
// may be overkill as JQ does stopPropagation if false returned??
event.stopPropagation();
(event.preventDefault) ? event.preventDefault() : event.returnValue = false;
return false;
});
},
按钮事件处理程序是:
$(tableId + '-addRow').click(function (event) {
console.log("AddRow click");
// modal opened here....
});
见http://tjvantoll.com/2013/05/22/why-are-enter-keypresses-clicking-my-buttons-in-ie/
特别
Internet Explorer有一个恼人的怪癖,从IE10开始仍然存在:在文本框中按Enter时可以点击提交按钮,即使没有。[...]没有其他浏览器表现出这种行为。
简短修复:使你的按钮type='button'
而不是type='submit'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.