绑定到动态创建的元素的事件。 (jQuery 1.7.2)

时间:2012-08-03 04:29:05

标签: jquery

我有一个js文件。它包含以下代码:

$("#speedB").change(function () {

    var date = $(this).val();
    $('.fl_near a').removeClass('selected');
    var clientId = $('#wiz_main').data('client');
    var eventId = $('#wiz_main').data('event');
    $.get('/desk/GetSessionScreen', { clientId: clientId, eventId: eventId, date: date }, function (data) {
        $('#step1').html(data);
    });
});

加载页面时,页面上不存在标识为speedB的元素中的问题。它出现在ajax请求之后。如何使用jQuery 1.7.2 (method on`)为稍后创建的元素绑定事件? 感谢。

4 个答案:

答案 0 :(得分:5)

使用.on()

$(document).on("change", "#speedB").(function () {

答案 1 :(得分:3)

您需要使用$.on()。这样的事情。

$("body").on("change", "#speedB", function() { . . . your code here . . . })

第一个选择器$("body")应该是一个始终位于页面上的元素,这样当事件冒泡到它时,您想要的操作才会生效。

"#speedB"需要成为.on()的第二个参数,这是触发事件的元素。

查看jQuery页面以获取更多详细信息。 $.on()

答案 2 :(得分:1)

试试这个:

$(document).on('change', '#speedB', function(){
  // ...
})

答案 3 :(得分:0)

尝试在动态创建元素的函数范围内绑定函数。