繁体   English   中英

使用javascript按“删除”键?

[英]Press “Delete” key using javascript?

在 Javascript 或 jquery 中有什么方法可以让我们在内部单击“删除”按钮来删除 HTML 网页中的一些文本? 我不希望我的用户在物理上单击“删除”按钮,但我想为他们提供界面,当他们单击时,我将在那里应用“删除”按钮功能。

您可以使用keydown函数触发它:

$(function(){
    var press = jQuery.Event("keyup");
    press.ctrlKey = false;
    press.which = 46;

    $('#check').keyup(function(e){

        alert(e.which);
    }).trigger(press);
});

但是此解决方案不会模拟 HTML 元素上的自然按键事件。 此方法仅触发 keyup 事件,它不会复制用户进入元素并按下该键。 为此,您可以参考此处

但是这个调度事件也不是全局支持的。

我认为在单击按钮时应用删除按钮的功能可以满足您的要求

只需在单击按钮时写$("input").val("")或按照上面给出的@haxxton 的答案,或在此处查看演示

进一步我对 OP 的评论。

假设你的 HTML 看起来像

<p id="deleteMe">This text should be deleted</p>
<button id="deleteButton">DELETE</button

选项1

如果您打算删除可以使用的元素的整个文本

var deleteButton = document.getElementById('deleteButton');
deleteButton.onclick = function(){
    var deleteItem = document.getElementById('deleteMe');
    deleteItem.innerHTML = '';
}

选项 2

但是,如果您打算每次点击只删除一个字符,您可以使用类似

var deleteButton = document.getElementById('deleteButton');
deleteButton.onclick = function(){
    var deleteItem = document.getElementById('deleteMe');
    deleteItem.innerHTML = deleteItem.innerHTML.substring(0, deleteItem.innerHTML.length - 1);
}

请访问: 是否可以以编程方式模拟按键事件?

您可以使用键码作为 46 insetead

character.charCodeAt(0)

使用jQuery内部调用事件很简单:

$('#delete').click(); // call internally to 'Delete' button

它启动包含您的删除功能的点击事件。

查看更完整的演示: http : //jsfiddle.net/581env0c/2/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM