我的前端结构如下:
<div id='item-list'>
# List of items to be replaced every time
</div>
<form>
<submit/>
</form>
这个想法是,每次点击submit
按钮时,我的JS都会发送AJAX请求,服务器会返回item-list
的HTML部分,并在我的前端,item-list
将替换为ajax return。
但是,由于在我的item-list
中也使用了UJS,因此在替换后绑定不再有效。
我认为这是UJS代码在更换发生时没有执行的问题。我想问一下如何强制执行UJS代码?
非常感谢
答案 0 :(得分:0)
您需要delegate来自页面上始终存在的元素的事件绑定(通常为document
):
$(document).on("submit", ".element", function(){
//stuff
});
您遇到的问题是Javascript只适用于实际DOM中的元素。在加载DOM
之后附加的元素不起作用,也无法使用这意味着您必须将javascript事件绑定到始终存在于DOM中的元素,并从中委派
-
对于您迄今为止发送的内容,我能做的最好 - 如果您提供更多背景信息,我将能够提供更丰富的答案