在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事件,不会复制用户进入元素并按下该键的事件。为此,您可以参考HERE。
但是此调度事件也不受全局支持。
我认为在单击按钮时应用删除按钮的功能可以满足您的要求
只需单击按钮即可输入$("input").val("")
或遵循上面给出的@haxxton的答案,或者SEE DEMO HERE
进一步我对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);
}
请访问:Is it possible to simulate key press events programmatically?
您可以将键码用作46的insetead
character.charCodeAt(0)
使用jQuery
在内部调用事件很简单:
$('#delete').click(); // call internally to 'Delete' button
它将启动包含删除功能的click事件。
查看更完整的演示:http://jsfiddle.net/581env0c/2/