jQuery事件不会触发动态生成的内容

时间:2015-03-16 12:15:58

标签: javascript jquery .net

我使用ASP.NET MVC 4动态加载包含选项的PartialView。我想将jQuery dblclick事件绑定到此并获取所选选项,但事件未触发。这是我的代码:

 <select size="5" id="popup-list">
     <option value="test">test</option>
 </select>

jQuery代码:

$(document).ready(function(){

    $("#popup-list").live("dblclick", function () {
        var name;
        $("select option:selected").each(function () {
            name = this;
            name = this.text();
        });
    });

});

我不确定这是导致问题的原因。代码在document.ready()中,它应该处理动态加载。

2 个答案:

答案 0 :(得分:2)

使用jquery的On方法。

$("body").on("dblclick", "#popup-list", function () {
    var name;
    $("select option:selected").each(function () {
        name = this;
        name = this.text();
    });
});

注意:jquery版本7以后可用的on方法

答案 1 :(得分:2)

尝试以下方法之一: 方法:1

$(document).ready(function(){
    $("#popup-list").on("dblclick", function () {
        var name;
        $("select option:selected").each(function () {
            name = this;
            name = this.text();
        });
    });
});

方法:2或

$(document.body).on("dblclick", '#popup-list', function () {
---your code----
});

方法:3

$(document).on("dblclick", '#popup-list', function () {
---your code----
});