gpt4 book ai didi

jquery - jquery "on click"函数在按键 "enter"时被触发

转载 作者:行者123 更新时间:2023-12-03 22:47:03 25 4
gpt4 key购买 nike

jQuery(document).ready(function() {
jQuery(".multipleDataRow").on("click", "[id^='multiremove_']", function() {
//code here to delete
});
});

我想避免在按下“enter”键时调用删除函数

当我关注其他文本框并按下 Enter 按钮时,此点击功能就会触发。

删除按钮位于具有“multipleDataRow”类的容器内。

在其他字段上按 Enter 键时,删除功能会继续触发。

编辑:来自评论的 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&nbsp;
</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 -->

最佳答案

当焦点集中在按钮上时按 Enter 键,浏览器将按照与 click 事件相同的方式处理该事件。

正如 Rory 所提到的,这是所有浏览器设计的一个功能,如果您希望否定此功能,最终用户可能会对最终结果不满意,因为它不会具有所有标准功能。

要否定这一点,您可以检查 onkeydown/onkeyup/onkeypress 来检查键盘操作是否在单击事件之前发生如果按下某个键,则触发并停止单击事件代码触发。

var isKeyPress = false;

document.onkeydown = function(event) {
if (event.keyCode == 13) {
isKeyPress = true;
}
}

jQuery(".multipleDataRow").on("click", "[id^='multiremove_']", function() {
if (!isKeyPress) {
//code here to delete
}
isKeyPress = false;
});

如果isKeyPress值为true,这应该会停止运行点击事件代码

关于jquery - jquery "on click"函数在按键 "enter"时被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19273796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com