获取编辑元素的删除事件

2023-12-06

我正在尝试模拟(不存在的)更改事件contentEditable元素(但我猜这对于输入元素来说是同样的问题)。不幸的是,当用户选择一些文本并从浏览器的上下文菜单中选择“删除”时,我不知道如何获取事件。

有什么建议我可以如何得到它吗?


修订后的答案,2012 年 6 月 8 日

你想要的是HTML5 input event。然而,目前这仅适用于 WebKitcontenteditable元素,但希望也能在其他浏览器中实现:Firefox 14 显然会拥有它. It's 已在所有主要浏览器中实现文本输入和文本区域.

Demo: http://jsfiddle.net/timdown/5e5E5/1/

HTML:

<div id="test" contenteditable="true">...</div>

JS:

var editableDiv = document.getElementById("test");

editableDiv.addEventListener("input", function(evt) {
    alert("Editable content changed");
}, false);

对于跨浏览器解决方案,您可以使用一些不同的DOM 突变事件(另见MDN)将被解雇。我建议DOMCharacterDataModified并且可能DOMNodeRemoved将是对此目的有用的。

请注意,这些事件在 IE 这些事件已被弃用,有利于DOM4 突变观察者。然而,在撰写本文时(2012 年 6 月),只有最新的 WebKit 浏览器支持此功能,因此在中短期内,我们至少会坚持将突变事件作为后备方案。

editableDiv.addEventListener("DOMCharacterDataModified", function(evt) {
    if (evt.newValue.length < evt.prevValue.length) {
        alert("Characters deleted");
    }
}, false);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取编辑元素的删除事件 的相关文章

随机推荐

  • Java(Eclim + Vim)“system.out.print”不工作

    我是 Java 编程新手 今天在摆弄 eclim 和 vim 时 我发现 System out println 功能不起作用 class apples public static void main String args double t
  • 更改屏幕后反应本机保存按钮状态

    我的应用程序中有 5 个按钮 跑步 骑行 阅读 编码 牛儿 当我单击它时 按钮会更改其颜色并在屏幕上显示标题 我正在使用这个库 反应本机选择多个按钮 假设我单击了 跑步 和 骑行 按钮 这些按钮将突出显示 并且文本将显示在屏幕上 但是当我将
  • C#中如何通过socket发送文件

    我有服务器和客户端控制台应用程序 它们可以很好地通信并发送一些字符串 这是代码 Server public static void Main try IPAddress ipAd IPAddress Parse 127 0 0 1 Init
  • 使用自定义类加载器加载资源包

    import java io ByteArrayOutputStream import java io File import java io IOException import java io InputStream import ja
  • 启动 PyCharm 时 Dyld 错误消息

    几周来我一直在试图解决这个问题 但仍然陷入困境 我一直在研究它并慢慢获得更多信息 但还无法解决它 我在 Stack Overflow 上读过这些类似的问题 dyld 库未加载 usr local Cellar python 3 7 4 1
  • 如何访问多个文件的内容

    有什么方法可以添加多个文件的内容 然后将组合值放入一个文件中 我目前正在尝试这个 start tr include include all items item input start tr php img start include in
  • 如何从父 javascript 页面访问子 iframe 元素?

    在我的页面中 我有 iframe 代码 当我单击启用框架窗口的特定链接时 它是一个表单 当我提交表单时 我会得到一些隐藏字段值 我如何访问父页面中的这些值 由于您的 iframe src 完整的 url 而不是相对路径 即 app apps
  • 通过Javascript提交带有参数的表单

    下面是我的 Javascript 代码 其中 k 和 m 是 Javascript 变量 function javascriptfunction document forms formname action gotopage php par
  • Sublime Text 插件:添加 python 库

    我正在尝试编写一个 Sublime Text 插件 它可以进行一些 Windows api 调用 我做了一些研究发现这个Python库提供了我需要使用的API 所以 我正在尝试使用这个库 当我在我的 sublime text 插件中添加导入
  • 未捕获的类型错误:无法读取 null 的属性“lastChild”

    h2 Matching Game h2 p Click on the EXTRA face on the left side p
  • 在没有 /bin/bash 命令的情况下运行 docker 容器

    我创建了 docker 容器 sudo docker run it ubuntu bin bash 在我读过的 码头工人书 一书中 只要我们指定的命令 bin bash 正在运行 容器就会运行 我不是用选项 it 创建了终端并且不需要 bi
  • 如何在 angularjs 单元测试中触发 mousemove 事件

    我已经实现了一个使用鼠标事件的 angularjs 指令 单击组件并上下移动鼠标可以更改值 所以我需要知道如何在单元测试中触发 mousemove 事件 我使用 karma jasmine 我想建议在单元测试中当鼠标向上或向下移动时测试此组
  • 如何圆化 Matplotlib 轴脊柱的连接

    这是一个相当简单的问题 我正在创建一个具有多个插入轴的 Matplotlib 图形 我已删除刻度线 以便每个插入轴的插入脊椎以 90 度角相交 但是 当您向该图窗添加图例时 它会添加一个图例对象 该图例对象的每个 边缘 都有稍微圆形的脊柱连
  • Java 中的特定方法有多少字节的字节码?

    我最近读到乔恩 正光的博客巨大的方法 8000 字节的字节码 不是使用 HotSpot 进行 JIT 编译的 所以我的问题是 作为程序员 如何找出特定方法有多少字节的字节码 JIT 编译器似乎当然知道 我可以从 class file 您可以
  • Git忽略目录和目录/*有什么区别?

    我对忽略 git 中目录内容的正确方法感到困惑 假设我有以下目录结构 my project www 1 txt 2 txt gitignore 放置这个有什么区别 www 和这个 www 我问这个问题的原因是 在 git 中 如果目录为空
  • 使用 RegEx 查找 VBA 注释

    我正在尝试使用正则表达式查找所有 VBA 注释 我有一些大部分有效的东西 但有一些例外我无法弄清楚 我正在使用的表达 拿我们的测试代码来说 Working This is a test This should be captured Wor
  • Python/Bokeh - 如何通过使用 Select、回调和 CustomJS/js_on_change 从 dict 中按列值过滤行来更改数据源

    问题应该出在回调函数上 不幸的是 我没有 JS 经验 我从 dataframe js 库中获取了这部分 但它不起作用 我们的想法是建立一个仪表板 其中包含费率 1 和费率 2 的两个图表以及两个费率类别的下拉菜单 import pandas
  • 如何在 HTML 网页中显示客户端计算机上的本地图像

    如何在网络服务器上托管的 HTML 网页中显示放置在客户端计算机上的本地图像 我放置的图像很少C Images文件夹所以路径应该是file C Images 1 jpg for a image 1 jpg 我正在使用代码 img src 在
  • excel vba冻结窗格而不选择

    我在 Excel 中有一个 VBA 脚本 可以冻结 Excel 工作表的窗格 但我很好奇是否可以在不先选择范围的情况下实现这一点 这是我当前的代码 它冻结了第 1 7 行 但使用Range Select ActiveSheet Range
  • 获取编辑元素的删除事件

    我正在尝试模拟 不存在的 更改事件contentEditable元素 但我猜这对于输入元素来说是同样的问题 不幸的是 当用户选择一些文本并从浏览器的上下文菜单中选择 删除 时 我不知道如何获取事件 有什么建议我可以如何得到它吗 修订后的答案