我的代码中的一个 ajax 请求返回一些 html,其中某些元素需要自定义事件处理,如下所示:
<div>
<!--some html-->
<button id='specialbutton'></button>
</div>
<script type='text/javascript'>
$("#specialbutton").click(function(e){
//some special handing of html above
});
</script>
我了解从 ajax 请求返回的 javascript不会自动执行,并且使用 eval() 执行 return js 被认为是不安全的并且通常是不好的做法。但是我需要在这里执行的代码只是返回的 html 片段(在 Django 模板中)的本地代码,包括在发送 ajax 请求的样板 html 中似乎违反了分隔规则。我应该向元素添加像 'data-role="specialbutton"' 这样的属性,并全局使用 jQuery.live() 来附加处理程序,还是什么?
这里的最佳做法是什么?有什么好的建议吗?