简体   繁体   English

使用javascript按“删除”键?

[英]Press “Delete” key using javascript?

Is there any way in Javascript or jquery using which we can internally click the "Delete" button to delete some text in HTML web pages?在 Javascript 或 jquery 中有什么方法可以让我们在内部单击“删除”按钮来删除 HTML 网页中的一些文本? I don't want my users to click the "Delete" button physically but I want to give them interface where when they click I will apply the "Delete" button functionality there.我不希望我的用户在物理上单击“删除”按钮,但我想为他们提供界面,当他们单击时,我将在那里应用“删除”按钮功能。

You can trigger it using the keydown function:您可以使用keydown函数触发它:

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

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

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

But this solution does NOT simulate a natural keypress event on the HTML element.但是此解决方案不会模拟 HTML 元素上的自然按键事件。 This method only triggers the keyup event, it does not replicate the user going into the element and pressing that key.此方法仅触发 keyup 事件,它不会复制用户进入元素并按下该键。 For doing that you can refer HERE .为此,您可以参考此处

But this dispatch event is also not globally supported.但是这个调度事件也不是全局支持的。

I think applying the functionality of delete button on click of button can fullfill your requirement我认为在单击按钮时应用删除按钮的功能可以满足您的要求

Just write $("input").val("") on click of button or follow the answer of @haxxton given above, OR SEE DEMO HERE只需在单击按钮时写$("input").val("")或按照上面给出的@haxxton 的答案,或在此处查看演示

Further to my comment on the OP.进一步我对 OP 的评论。

Assuming your HTML looks something like假设你的 HTML 看起来像

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

Option 1选项1

if your intention is to remove the entire text of an element you could use如果您打算删除可以使用的元素的整个文本

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

Option 2选项 2

However, if it is your intention to only remove one character per click you could use something like但是,如果您打算每次点击只删除一个字符,您可以使用类似

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

Please visit : Is it possible to simulate key press events programmatically?请访问: 是否可以以编程方式模拟按键事件?

you can use the keycode as 46 insetead of您可以使用键码作为 46 insetead

character.charCodeAt(0)

Call internally to a event is simple with jQuery :使用jQuery内部调用事件很简单:

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

It launchs the click event which contains your delete functionality.它启动包含您的删除功能的点击事件。

See a demo more complete: http://jsfiddle.net/581env0c/2/查看更完整的演示: http : //jsfiddle.net/581env0c/2/

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

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