使用同一个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函数的位置,作用域问题。。应该可以

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏