下面是我的代码,代码的问题是我试图让enter键工作,当主要元素" newsletter-sign-up"通过添加事件监听器在其中包含数据。问题是这个" newsletter-sign-up"存在于基页上,但它也可以存在于"模态中#34;随机出现。我被告知我可以使用相同的" Id"通过使用.closest jquery ...但我的代码不断出现错误.addEventListener不是一个函数。这是代码:
// ============健康小贴士电子通讯上的主要新闻事件====================== / p>
$(function () {
$('#sign-up-submit').closest('form').findByName("newsletter-sign-up")
// document.getElementById("newsletter-sign-up")
.addEventListener("keypress", function (event) {
if (event.keyCode == 13) {
event.preventDefault();
document.getElementById("sign-up-submit").click();
}
});
});
答案 0 :(得分:0)
由于它出现在模态弹出窗口中(表示您不知道它将放在DOM中的位置),您需要委派该事件。
以下内容应该这样做
$(function () {
$(document).on('keypress', '#newsletter-sign-up', function (event) {
if (event.keyCode == 13) {
event.preventDefault();
$("#sign-up-submit").click();
}
});
});