Javascript 委托点击事件不发生';t火
我正在开发一个web应用程序。你可以找到这个网站 如果单击“道路”图标,在菜单打开加号(“+”)后,将显示带有标签的文本输入。这个Javascript 委托点击事件不发生';t火,javascript,jquery,html,jquery-ui,events,Javascript,Jquery,Html,Jquery Ui,Events,我正在开发一个web应用程序。你可以找到这个网站 如果单击“道路”图标,在菜单打开加号(“+”)后,将显示带有标签的文本输入。这个正在使用插件,当然,可以在输入后对地址进行排序 我想在这些地址字段的标签上添加一个单击事件,这样当用户单击号码时,就会出现一个对话框,他/她可以在其中手动编辑号码(如果有数百个地址,可能会产生一些反作用) 由于标签和输入是稍后创建的元素,因此我尝试委托click事件,如下所示: $(document.body).on('click', '.control-label
正在使用插件,当然,可以在输入后对地址进行排序
我想在这些地址字段的标签上添加一个单击事件,这样当用户单击号码时,就会出现一个对话框,他/她可以在其中手动编辑号码(如果有数百个地址,可能会产生一些反作用)
由于标签和输入是稍后创建的
元素,因此我尝试委托click事件,如下所示:
$(document.body).on('click', '.control-label', function () {
console.log($(this));
});
然而,事件从未发生。我开始想,也许可排序插件会将我的事件禁用到该标签
这是地址字段的HTML代码(标签+输入+删除按钮)
1.
×
是添加新行的addWaypoint()函数。每当用户单击+按钮时,就会调用该函数
编辑:显然不是可排序的插件,而是阻止点击事件的其他东西。有人有什么想法吗?您需要设置一个与每个控件标签类相关的变量,以便对其进行console.log(或警报,或以任何方式使用) 以下是我建议您修改javascript的方式:
$(document.body).on('click', '.conrtol-label', function () {
var spanText=$(this).text();
console.log($(this));
alert(spanText);
});
也许这把小提琴会有帮助:
修改为使用li的,我刚刚在JSFIDLE中测试了它,它可以工作。一定是其他东西禁用了单击event@RiceJunkie我知道在Chrome的开发者控制台中有一种方法可以查看元素上附加了哪些事件,但我不知道如何检查。你有什么想法吗?你可以在开发者工具中选择你的元素,在右边列出你的css样式的地方有一个事件标签listeners@TrisztánThar我已经检查过了-您可以看到jQuery在不同的点上连接了自己。这很有意义——您没有将代码直接附加到
单击,只是要求jQuery在事件发生时调用您的函数。我现在正试图重新说明JSFIDLE上的实际问题……OP说事件一开始没有触发——这将如何帮助事件触发?
$(document.body).on('click', '.conrtol-label', function () {
var spanText=$(this).text();
console.log($(this));
alert(spanText);
});