jQuery插件,用于在点击事件中突出显示单词块

jQuery plugin for highlighting words blocks on click event

本文关键字:显示 单词块 事件 插件 用于 jQuery      更新时间:2023-09-26

我使用这个网站链接的jquery荧光笔。您可以选择文本,荧光笔将其包裹在<span>示例中

我在文本突出显示的部分注册点击事件时遇到问题。我已经读到,在动态添加的元素上,你必须使用.on()函数,但我无法使其工作。

这是jsfiddle,我的代码在javascript的底部。我认为荧光笔中有一些东西会阻止点击事件,但我的javascript技能还不够好,无法弄清楚是什么。

这就是我尝试注册点击事件的方式

$(document).ready(function() {
    $('#sandbox').textHighlighter();
    $('#sandbox').on('click', 'span.highlighted', function(){
        alert("Click was registered");
    });
});

有两件事-您使用的jQuery(1.6.4)的早期版本不支持on()(您可以使用delegate()),您的语法需要稍微调整-

$(document).on('click', 'span.highlighted', function(){
    console.log("Click was registered");
});

应该对jQuery最初运行时页面上存在的元素进行委派。在这种情况下,事件将冒泡为"document",它在代码运行时安全存在。选择器也可以是"#sandbox"。

另一个注意事项是,总是使用console.log()进行故障排除,而不是alert()

工作示例

对动态创建的元素使用.live

演示http://jsfiddle.net/1pwq822r/2/

$('#sandbox').live('click', 'span.highlighted', function () {
        alert("Click was registered");
});