我有这个功能:
$(document).on('click keypress', '.pTile:not(.join)', function (e) {
if (e.keyCode != 13) {
return false;
}
//Do Stuff
});
此代码允许用户单击div或按Enter键。但问题是,由于决策结构过滤了密钥代码,它实际上只允许输入按钮。如何允许点击和输入按钮事件通过?
答案 0 :(得分:4)
jQuery事件具有type
属性,您可以检查:
$(document).on('click keypress', '.pTile:not(.join)', function (e) {
if (e.type == 'keypress' && e.keyCode != 13) {
return false;
}
//Do Stuff
});
或者,您可以将逻辑提取到自己的函数并添加单独的处理程序:
function doStuff() {
// Do stuff...
}
$(document).on('click', '.pTile:not(.join)', doStuff);
$(document).on('keypress', '.pTile:not(.join)', function() {
if (e.keyCode == 13)
doStuff.call(this);
});