使用同一个Js文件渲染页面数据和绑定事件产生的异步问题

页面数据使用$.ajax()获得,使用template.js渲染到页面上,通过引用另一个html文件(绑定事件的按钮也在这个文件中)

然后我在ajax方法之后给button绑定click事件,发现找不到元素,因为button还没渲染出来。

现在的解决办法是给click套了一个setTimeout(),1s后执行,功能上没问题,就是太简陋了。

请问还能通过什么方法实现?

阅读 3.7k
5 个回答

使用冒泡

$("body").on("click", "button", function(){
    // do something
})

判断一下,等到button加载出来再去绑定事点击事件

<button onclick="test*()">我是按钮</button>
function test(){

do someting...

}
注意test函数的位置,作用域问题。。应该可以

推荐问题
宣传栏