con*_*att 109 jquery internet-explorer
当在"金额"输入中按"输入"时,此逻辑会触发,我不相信它(它不在Chrome中).如何防止这种情况,如果不在IE中阻止它,请处理它,以便点击事件中的逻辑不会触发.
<html>
<body>
<div id="page">
<div id="financed_amount">
<h1>Financed Amount:</h1>
<input type="text" id="amount" value="" />
</div>
<h1>Finance Options</h1>
<div>
<a id="shareLink" rel="leanModal" name="email" href="#email"></a>
<button id="btnShare" class="share">Share this report</button>
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
脚本
$("#btnShare").click(function (e) {
// This logic is firing when pressing "Enter" in the "Amount" input
});
Run Code Online (Sandbox Code Playgroud)
小智 314
我遇到了同样的问题并通过向元素添加type="button"属性来解决它<button>,IE通过该元素将按钮视为一个简单的按钮而不是提交按钮(这是<button>元素的默认行为).
小智 31
我今天遇到了这个问题.IE假定如果您在任何文本字段中按Enter键,您想要提交表单 - 即使字段不是表单的一部分,即使该按钮不是"提交"类型.
您必须使用preventDefault()覆盖IE的默认行为.在你的jQuery选择器中,放入包含你要忽略的输入键的文本框的div - 在你的情况下,"page"div.您也可以指定要特别忽略的文本框,而不是选择整个div.
$('#page').keypress(function(e) {
if(e.which == 13) { // Checks for the enter key
e.preventDefault(); // Stops IE from triggering the button to be clicked
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65742 次 |
| 最近记录: |