通过触发退格键按键事件从文本字段中删除文本

时间:2013-10-19 09:52:11

标签: javascript jquery

我想在按钮的点击事件中删除内容可编辑div中的数据。我希望这个按钮实际上表现为退格按钮。那可行吗?期待这样的示例代码。 我找到了this.

但它不适合我。有人可以帮忙吗?

我也尝试了这个:

我首先尝试了按键事件来手动触发退格事件:

    var press = jQuery.Event("keyup");
    press.ctrlKey = false;
    press.which = 8;
    press.keyCode = 8;
    $("#myDiv").trigger(press);

它会触发事件但不会实际更新。

1 个答案:

答案 0 :(得分:0)

由Javascript(包含element.dispatchEvent或jQuery' s trigger)触发的事件被称为"不受信任"并被发送到事件处理程序,Event.isTrusted设置为false。关于此的文件几乎不可能找到;请查看www.w3.org/TR/DOM-Level-3-Events/#h3_trusted-events。这意味着该事件的默认操作不会发生:按键事件不会输入文本。元素永远不会看到您的退格事件。您在Javascript中附加的处理程序将起作用,而不是内置效果。

老实说,我不知道这有什么安全优势,但这就是现代浏览器的工作方式。

我有一个模拟按键的库;见my sendkeys plugin。 代码位于github:获取文件bililiteRange.jsjquery.sendkeys.js

包含这两个文件后,您可以执行:$("#myDiv").sendkeys("{backspace}")并且它应该可以正常工作。