我使用此代码来处理事件,但如果两者或其中之一发生,我想触发一次。
$(document).on("keypress blur", ".pollOptionInput", function(e) {
if (e.type == 'focusout' || e.keyCode == 13) {
e.preventDefault();
addPollOption();
$('.btnAdd').focus();
}
});
如果我按 Enter 键,我的代码会触发两次。 我该如何解决我的问题?
最佳答案
它可以正常工作,没有任何问题。也许您附加事件两次,这就是问题所在。 请注意,我更改了事件附加方式 - read more
$(document).ready(function(){
$(".pollOptionInput").on("keypress blur", function(e) {
if (e.type == 'blur' || e.keyCode == 13) {
e.preventDefault();
//addPollOption();
//$('.btnAdd').focus();
console.log('EVENT!');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" class="pollOptionInput" />
<input type="text" class="pollOptionInput" />
<input type="text" class="pollOptionInput" />
关于javascript - 如果两个事件都发生,如何仅触发其中一个事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39013603/