javascript - 绑定(bind)事件到文本节点

标签 javascript jquery events

这是我的 HTML。我需要将点击事件绑定(bind)到“someText”

<div id="container">
    someText <a href="#">A link</a>
</div>

"someText"可以是任何文本字符串

最佳答案

使用 jQuery 用 <span> 包裹文本节点,点击它。

尝试一下: http://jsfiddle.net/3F4p4/

$('#container').contents()  // Get all child nodes (including text nodes)
               .first()     // Grab the first one
               .wrap('<span/>')    // Wrap it with a span
               .parent()           // Traverse up to the span
               .click(function() { alert('hi'); });​​  // add the click to the span

.contents()方法返回所有子节点,包括文本节点。因此,您捕获第一个子项,将其包裹起来,遍历到其父项(现在是跨度),然后添加点击。

关于javascript - 绑定(bind)事件到文本节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3142417/

相关文章:

javascript - ActionScript3 中的奇怪事件监听

javascript - 按属性对 JavaScript 对象数组进行排序时数字有什么问题

javascript - 响应后在 HTML 中附加未知文本

iphone - 使用 EKEventStore 从 iPhone 日历中删除事件

jquery - 创建对象时将参数传递给 jQuery 事件处理程序

javascript - bootstrap modal 显示先前调整大小的 textarea

javascript - 正则表达式制作带标签的超链接

javascript - 错误Js无法读取null的 'setAttribute'属性

javascript - 如何更改代码以使图片位于 "main-block"中,而不是 js 代码?

javascript - 不使用按钮或 A 标签触发 Bootstrap Collapse 的方法?