我使用 jQuery 在 Javascript 中编写了一个函数,它按照我想要的方式工作。问题是,我犯了一个拼写错误并使用了赋值运算符而不是 == 或 ===。由于某种原因,赋值运算符可以工作,而检查相等性 == 却不能。下面的函数可以工作,但看起来不应该。我指的部分是 event.type = 'keyup'。有什么想法吗?
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class = "box" id = "box1">
<input class = "ti" id = "t1" type="text" placeholder= "Enter to do" >
</div>
<script>
$( ".ti" ).on( "keydown", function( event ) {
$( "#log" ).html( event.type + ": " + event.which );
if (event.type = 'keyup' && event.which == '13') {
alert('here');
}
});</script>
最佳答案
这是因为 event.type = 'keyup'
返回 keyup
并且非空字符串是 JavaScript 中的真值。
编辑:我错过了 &&
运算符及其在表达式中的作用,也许是因为我专注于 JavaScript 中非空字符串的真实性质,这仍然与所发生的情况相关。所以这个答案对于你的情况并不完全正确。由于 Kay 发布了一个正确的答案,因此我不会更新此答案。
关于javascript - jQuery keyup = 而不是 ==,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25223943/