jQuery(document).ready(function() {
jQuery(".multipleDataRow").on("click", "[id^='multiremove_']", function() {
//code here to delete
});
});
我希望避免在按下"enter“键时调用删除函数。
当我集中在其他文本框和键按enter按钮时,单击函数上的这个按钮就会触发。
移除按钮位于具有"multipleDataRow“类的容器中。
remove函数继续在其他字段上按enter键触发。
编辑:来自coment的HTML
<div class="multipleDataRow">
<label class="">Skills</label>
<div class="">
<div id="" class="">
<div id="multiRow_2_Skillset" class="mBtm-5 span8 mLft-0">
<input type="text" placeholder=".." id="skill" name="skills[]" value="" class="m-wrap" readonly="readonly">
<select name="data[tmp_experiences[]]" id="tmp_years_exp_2" class="m-wrap" disabled="disabled">
<option value="1">1</option>
</select> Yrs
</div>
<div id="spanMultiremove_Skillset_2" class="mBtm-5">
<button id="multiremove_Skillset_2" skillset_skexp="59" class="btn mini red"> remove </button>
</div>
</div>
</div> <!-- Missing in comment -->
</div> <!-- Missing in comment -->
发布于 2013-10-09 13:43:12
这是所有浏览器的设计。这是一个可访问性特性,因此不应该被篡改。
如果它导致您的站点中的意外行为,请更改HTML标记以绕过它。
发布于 2013-10-09 14:03:29
可以简单地在html代码中编写代码,就像为html标记编写代码一样。
onkeydown="return (event.keyCode!=13);"
这将防止浏览器单击事件。
发布于 2019-11-20 20:10:01
很多人似乎错过了这部分:
当我集中在其他文本框和键按enter按钮时,单击函数上的这个按钮就会触发。
这只是当输入和按钮在表单中时的标准浏览器行为。在提供的片段之外,情况可能是这样,但对我来说确实是这样。
我只是将<form>
标记更改为div,因为逻辑都是通过jQuery处理的。但是this answer也有一个有用的金块:
...the默认类型的
<button>
元素是"submit".
--这意味着如果您在包含此按钮的<form>
中的任何地方按Enter,它将自动提交。 TLDR:在按钮元素中添加type=“按钮”。
https://stackoverflow.com/questions/19273796
复制相似问题