在我的Javascript代码中使用时,Tabz对Mozilla中的文本框不起作用:
function AttachKeyupEvent() {
var textboxes = $("input[type=text][isautocomplete!=true]");
/// regex excluding all foreign characters
var regex = new RegExp("^[a-zA-Z0-9\b\s \+\?\(\)*#;:\$@!\&=\\-.,'//]+$");
$(textboxes).live('keypress', function (e) {
var key = String.fromCharCode(!e.charCode ? e.which : e.charCode);
var code = e.which || e.keyCode;
/// code to check foreign characters code 46 is for delete 39 and 37 is for arrows (mozila spport)
if (regex.test(key) || code == 46 || code == 39 || code == 37 || code == 92) {
if (e.which != 0 && e.charCode != 0) {
TriggerHandlers.call(this);
}
}
else {
e.preventDefault();
return false;
}
});
但是当我在其他部分使用此代码时,它可以正常工作。
else {
return true;
}
});
可以请任何人给我正确解释究竟代码在做什么?为什么这些键码在这里使用?
答案 0 :(得分:0)
e.preventDefault();
和return false;
只会阻止进一步的标记。
答案 1 :(得分:0)
e.preventDefault();
因为它的名字建议阻止浏览器在事件上的默认行为,在这种情况下,从带有制表符的字段到字段。