我有一个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`)为稍后创建的元素绑定事件?
感谢。
答案 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)
尝试在动态创建元素的函数范围内绑定函数。