使用javascript按“删除”键?

问题描述 投票:2回答:4

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

javascript jquery html web
4个回答
2
投票

您可以使用keydown功能触发它:

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

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

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

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

但是此调度事件也不受全局支持。

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

只需单击按钮即可输入$("input").val("")或遵循上面给出的@haxxton的答案,或者SEE DEMO HERE


1
投票

进一步我对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);
}

0
投票

请访问:Is it possible to simulate key press events programmatically?

您可以将键码用作46的insetead

character.charCodeAt(0)

0
投票

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

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

它将启动包含删除功能的click事件。

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

© www.soinside.com 2019 - 2024. All rights reserved.