$('.pop').each(function () {
    var $elem = $(this);
    $elem.popover({
        placement: 'auto',
        trigger: 'hover',
        html: true,
        container: $elem,
        animation: true,
        content: function () {
            var pop_dest = $(this).attr("data-pop");
            //console.log(plant);
            return $("#"+pop_dest).html();
        }
    });
});

$('#english').click(function() { // ---> THIS PART DOES NOT WORK
    alert("english");
});

$('#turkce').click(function() { // ---> THIS PART DOES NOT WORK
    console.log("turkce");
});


我在弹出框中有2个按钮。但是他们的点击事件不起作用。如何从按钮单击触发点击事件?我的html代码如下。

<li>
    <a href="javascript: void(0);" id="languages" class="pop" data-html="true" data-toggle="popover" data-pop="popper-content" class="popper">
        <?=$language["languages"]?>
    </a>
    <div class="hide" id="popper-content">
        <ul class="lang-list">
            <li class="en">
                <button id="english">English</button>
            </li>
            <li class="tr">
                <button id="turkce">Türkçe</button>
            </li>
        </ul>
    </div>
</li>

最佳答案

当您调用click函数时,这些按钮尚未添加到页面中(因为它们位于动态添加的弹出窗口中),因此您必须使用一些可用于将来添加内容的控件:

$('body').on('click', '#english', function () {
    alert("english");
});

关于javascript - 弹出点击事件无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33568417/

10-09 20:44