我对js很新,我可能逻辑上会以错误的方式解决这个问题。我试图让我的自定义警报对象关闭,如果有人点击按钮,或点击回车键。但是我无法让它发挥作用。
document.getElementById('dialogboxfoot').innerHTML = '<button id="OK" type="button" onkeypress="if (window.event.keyCode == 13){Alert.ok()}" onclick="Alert.ok()">OK</button>';
我有类似的文本字段工作正常。这些有什么区别?我知道内联它是混乱的,但它是一个wordpress页面。
document.getElementById('dialogboxbody2').innerHTML = '<form><input type="text" id="zipcode" maxlength="5" onkeydown="if (event.keyCode == 13){Alert.checkZip()}" autofocus /></form>';
更新: 我尝试了下面的内容,它仍然没有触发onkeypress事件。
<button id="OK" type="button" onkeypress="key13(event)" onclick="Alert.ok()">OK</button>
this.key13=function(event){
var x = event.which || event.keyCode;
if (x == 13){
Alert.ok();
}
}
以下是CodePen http://codepen.io/enielsen0001/pen/XJxGaq
的链接我不能完全感谢你。
答案 0 :(得分:0)
在第一个示例中,您似乎尝试执行 window .event.keyCode,而在第二个(有效)event.keyCode。
答案 1 :(得分:0)
按钮事件&#39;按键&#39;重点关注它。
(尝试&#39;输入&#39;点击&#39;按钮后,您会看到它有效。)
onkeypress属性设置并返回当前元素的onKeyPress事件处理程序代码。
var c = document.getElementById('dialogboxfoot')
c.innerHTML = '<button id="OK" type="button" style="width:100px;height:100px;" onkeypress="key13(event)" onclick="alert(true);">OK</button>';
function key13(event){
var x = event.which || event.keyCode
if (x == 13){
alert('key press "Enter" after focus button" ');
}
}
&#13;
<div id="dialogboxfoot" style="background:#CCC; width:300px;height:300px;"></div>
&#13;