我在jQuery ready()
函数上有一些标准的插件绑定(bind),对所有新请求都可以正常工作。现在,随着我们向应用程序中添加越来越多的ajax,这些新元素被留在了初始绑定(bind)之后。
规则示例:
$(function () {
$('.date').datepicker({ showOn: 'button', buttonImage: "cal.gif" })
.blur(function (e) {
$(this).val(formatFecha($(this).val()));
})
$('.ui-datepicker-trigger').attr("tabindex", "-1");
$(".decimalnumber").numpadDecSeparator({ separator: "," })
.numeric(",")
.focus(function () { if ($(this).val() == '0,00' || $(this).val() == '0') $(this).val(''); });
$(".integernumber").numeric().focus(function () { if ($(this).val() == '0') $(this).val(''); });
$(".spinner").spinner({ min: 0, max: 10000000 });
$(".jbtn").button();
.......
我不是,而是,而是
live()
函数来绑定(bind)事件,因为这不是事件。因为我认为这很普遍,所以我想知道您的人员如何做到这一点。
最佳答案
将这些功能放在自己的单独功能中。在document.ready
上调用THAT函数,然后在其他任何时候需要重新加载东西。
function initialize() {
// do stuff;
}
$(document).ready(function() {
initialize();
});
$.ajax({
// url, data, etc.
success: function() {
initialize();
}
});
请注意,某些插件(例如更改DOM的幻灯片)可能需要您在重新初始化它们之前调用
destroy
方法或选项。