当按钮进入ajax时,不能触发打开('点击')

时间:2018-02-11 10:41:09

标签: javascript jquery ajax

我对on('click')事件有疑问,我有一个来自button的{​​{1}} ajax,但是当我尝试点击它时,预期的输出没有任何反应单击按钮后显示click event。我试着测试将按钮直接放到html上并且它有效。有人可以帮我解决这个问题吗?

PS:alertconsole

中没有错误

初​​始化。

network

单击按钮时的功能

$( document ).ready(function() {
    init();
});

function init()
{
    sendmessage();
    viewhotel();
    getresorts();
}

按钮来自的ajax代码

function viewhotel()
{
    $('#viewinfo').on('click', function() {
        alert('asd');
    });
} 

3 个答案:

答案 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----*/
});