Ken*_*h J 3 javascript jquery jquery-plugins jquery-events
当按下回车键时,我总是编写以下代码来处理:
$("#selectorid").keypress(function (e) {
if (e.keyCode == 13) {
var targetType = e.originalTarget
? e.originalTarget.type.toLowerCase()
: e.srcElement.tagName.toLowerCase();
if (targetType != "textarea") {
e.preventDefault();
e.stopPropagation();
// code to handler enter key pressed
}
}
});
Run Code Online (Sandbox Code Playgroud)
有没有办法扩展jQuery,以便我可以写:
$("#selectorid").enterKeyPress(fn);
Run Code Online (Sandbox Code Playgroud)
您可以扩展jquery类似于:
jQuery.fn.returnPress = function(x) {
return this.each(function() {
jQuery(this).keypress(function(e) {
if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
x();
return false;
}
else {
return true;
}
});
});
};
Run Code Online (Sandbox Code Playgroud)
可以调用如下:
$('selector').returnPress(function() { alert('enter pressed'); });
Run Code Online (Sandbox Code Playgroud)