将autocomplete =“off”添加到通过jjery.load()通过ajax调用呈现的输入

时间:2016-02-16 18:14:19

标签: jquery ajax autocomplete

在我一直在维护的巨大的MVC 1.0应用程序中,我们决定要为应用程序中的每个输入字段关闭自动完成功能。成千上万。

我试过了:

$(document).ready(function () {
    $('input[type="text"]').attr('autocomplete', 'off');
});

但我遇到的问题是,在某些地方,我有部分内容通过AJAX请求并通过.load加载。我尝试在ajaxComplete之后设置自动完成功能,但这也不起作用,因为.load直到ajax请求完成后才会发生。是否存在我可以关注的全局.loadComplete类型的事件,因此我不必在每个load回调中启动自动完成功能?

以下是我加载部分的方法:

$('#PaymentContent').load('/Payment/ACHPartial',function() {
....
})

我之前尝试过ajaxsuccess:

$(document).ajaxSuccess(function () {
        $('input[type="text"]').attr('autocomplete', 'off');
    });

1 个答案:

答案 0 :(得分:0)

您可以尝试为ajaxComplete事件附加一个全局处理程序,获取即将加载的内容并对其进行操作:

$( document ).ajaxComplete(function(event,xhr,settings) {
        xhr.responseText = 
        $(xhr.responseText).filter("input").attr('autocomplete', 'off').get(0);
});

这样,您可以在将内容加载到html之前对其进行操作。虽然没经过测试!

希望它有所帮助!