我需要 Enter 键才能仅在 HTML 上的 textarea 中处于活动状态form。我的 Javascript/jQuery 代码现在看起来像这样:$('#formId').on('keyup keypress', function (e) {var keyCode = e.keyCode || e.which;if (keyCode === 13) {//if this is textarea return true; e.preventDefault(); return false;}});我需要检查焦点是否在此表单内的文本区域上并允许用户按 Enter 键。
1 回答
慕村225694
TA贡献1880条经验 获得超4个赞
我会使用该keydown事件,因为它首先被触发。
您只需添加额外的比较来检查触发事件的元素的 tagName 。
$('#formId').on('keydown', function(e) {
var keyCode = e.keyCode || e.which;
var tag = e.target.tagName
if (keyCode === 13 && tag !=="TEXTAREA") {
console.log("Enter prevented")
e.preventDefault();
return false;
}else{
console.log("Enter is ok...")
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="formId">
<input type="text" value="ENTER does not work here"/><br>
<textArea>ENTER works here</textarea>
</form>
添加回答
举报
0/150
提交
取消