我在文本字段中点击返回后试图阻止我的页面刷新:
<input onkeyup="keyPressCodetitle(event, false, false, 0, 6, 20);" class="form_field" id="codeTitle" type="text" name="codename">
但不知何故,keyPressCodetitle函数不会阻止这个(即使我知道)必要的要求阻止它刷新页面。 (但是在if语句中相应地显示警告等。所以函数和if是否正常工作)
我可能错过了一些东西吗?
function keyPressCodetitle (e, caseBoolean, isFragment, generalCode, sourceId, projectId, method) {
//Get the key entered via onpress(Which for firefox)
var keycode = (e.keyCode ? e.keyCode : e.which);
if(keycode == '13'){
e.preventDefault();
//Functioncall here
} else {
//other function here when not pressing return
}
return false;
}
提前致谢,
答案 0 :(得分:2)
不是“[返回]使页面刷新”;默认情况下,某些(很多?)浏览器会将文本输入中的[Return]视为表单提交的标志。
这似乎发生在关键向下上,所以在关键向上时阻止此操作是太晚了。
向onkeydown
添加额外的监听器可能有所帮助:
<input onkeydown="preventSubmit(event);" onkeyup="keyPressCodeTitle(event);" />