我有以下工作正常:
$(".new_comment").ajaxStart(function() {
ajaxBanner('show');
// Disable button
$("input[type=submit]", this).attr("disabled", true);
});
$(".new_comment").ajaxComplete(function() {
ajaxBanner('hide');
// Re-enable button
$("input[type=submit]", this).removeAttr("disabled");
});
问题是只有在页面呈现评论表单时才有效。在许多情况下,评论表单会动态注入页面,然后失败。
如何进行上述直播()?
感谢
答案 0 :(得分:1)
这未经过测试,但也许值得一试?
$(".new_comment").live("ajaxComplete", function() {
ajaxBanner('show');
// Disable button
$("input[type=submit]", this).attr("disabled", true);
});
另一种方法是在动态注入注释表单时添加事件,但我们需要更多代码(即注入发生的位置)。
答案 1 :(得分:0)
我不确定绑定到jQuery选择时.ajaxComplete()
到底是如何工作的,但我认为你可以通过绑定到你知道存在的元素(即document
)来轻松解决问题,然后使用普通选择器:
$(document).ajaxStart(function() {
ajaxBanner('show');
// Disable button
$(".new_comment input[type=submit]").attr("disabled", true);
}).ajaxComplete(function() {
ajaxBanner('hide');
// Re-enable button
$(".new_comment input[type=submit]").removeAttr("disabled");
});