javascript - .点击 li 追加后不起作用

标签 javascript jquery

我将 li 附加到 ul,例如:

$(".vocab-list").append( $('<li onclick="play_sound(\''+val['audioURL']+'\');" class="vocab-word" id="vocab_' + val['id']+ '"><img width="230px" height="230px" src="' + val['imageURL'] + '" /><div><i class="fa fa-play-circle"></i>' + val['word'] + '</div></li>').hide().fadeIn(600));

现在我正在尝试执行 onclick 操作,因此使用以下命令,但它不起作用

$( ".vocab-word" ).click(function() {
  alert( "Handler for .click() called." );
});

最佳答案

问题通常是动态添加......当点击事件设置为监视时它不存在。

尝试...

$(document).on("click", ".vocab-word", function() {
  alert( "Handler for .click() called." );
});

这将允许您的代码在文档级别监视事件,无论发生什么变化。

更新:

这个概念是监视上面将添加元素的位置,我不知道您的代码,因此不能保证您可以附加其他元素。根据代码的复杂性,使用 $(document).on() 代码可能会导致性能问题...尝试 $("body")或更低的 HTML 元素。

关于javascript - .点击 li 追加后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27590853/

相关文章:

javascript - 在dojo中,如何删除内部文本节点而不删除元素内的其他节点?

javascript - 未捕获的语法错误 : Invalid or unexpected token

jquery - asp.net mvc 4 使用ajax表单助手上传文件

javascript - 使用 jquery 将更改绑定(bind)到 json

javascript - 调整多边形保持位置 - jQuery

c# - 从 javascript 调用 c# 函数

javascript - react 谷歌地图,更新标记OnIdle

javascript - 如何让两种不同的输入(一种用于移动设备,一种用于桌面设备)修改同一个变量?

javascript - 如果我单击订单表单,它应该显示,其他表单应该隐藏

javascript - 将 EBCDIC 字符插入 javascript 字符串