我对on('click')
事件有疑问,我有一个来自button
的{{1}} ajax
,但是当我尝试点击它时,预期的输出没有任何反应单击按钮后显示click event
。我试着测试将按钮直接放到html上并且它有效。有人可以帮我解决这个问题吗?
PS:alert
和console
初始化。
network
单击按钮时的功能
$( document ).ready(function() {
init();
});
function init()
{
sendmessage();
viewhotel();
getresorts();
}
按钮来自的ajax代码
function viewhotel()
{
$('#viewinfo').on('click', function() {
alert('asd');
});
}
答案 0 :(得分:2)
将html放在页面上(在DOM中)后,需要绑定事件。
ajax调用成功后,调用方法“viewhotel()”来绑定事件。
答案 1 :(得分:0)
在一个future元素的情况下,在AJAX调用之后调用viewhotel
是有意义的,但是在将添加多个这样的元素的情况下(或者存在一些现有元素并且将添加更多元素),它会使因此更有意义地绑定事件:
function viewhotel()
{
$(document).on('click', '#viewinfo', function() {
alert('asd');
});
}
以这种方式使用,on
会将事件绑定到文档中的现有和未来元素。
答案 2 :(得分:0)
当您指定动态创建的按钮ID时,on('click')事件将起作用,并且您将要追加父div。假设我有一个id为#traget的目标div。并且我将使用id #viewinfo动态添加一个按钮,然后代码将是
$("#target").on("click", "#viewinfo", function(){
/*--- Do Rest----*/
});