javascript - jQuery keyup = 而不是 ==

标签 javascript jquery

我使用 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/

相关文章:

javascript - jQuery 的 jquery-1.10.2.min.map 正在触发 404(未找到)

javascript - 使用 JSOM 从 Sharepoint 2013 中的共享文档获取文件内容

javascript - 在 easelJS 中将文本居中放置在矩形内

javascript - 通过script.js在wordpress中包含javascript多个文件

jquery - 文档选择器和窗口选择器有什么区别?

javascript - 按坐标绘制大厅平面图

javascript - 一旦选择该词,词的组合作为自动完成建议

javascript - Unfiltered inside of filtered - 使用两个元素在过滤后的图像中创建一个未过滤的区域

php - 尝试创建一个具有不同文本的网页,具体取决于从菜单中选择的内容

javascript - 如何在 javascript 函数中运行一个又一个 gulp 函数?