jquery – 将“自动完成”转为关闭所有表单(即使尚未加载)
所以,我有这个代码:
$(document).ready(function(){ $('form').attr('autocomplete', 'off'); });
它适用于所有已存在的表格。 问题是,我的某些forms是通过ajax加载弹出窗口。 这不适用于他们,因为他们以后会“加载”。
我知道有一个live()函数 – 但这仅用于附加事件。 将此应用于所有表单的好方法是什么?
谢谢。
您可以将实时事件绑定到焦点事件,然后更改该属性。
$(document).ready(function(){ $(':input').live('focus',function(){ $(this).attr('autocomplete', 'off'); }); });
从jQuery 1.7开始, jQuery.live已被弃用。 此代码现在看起来像:
$(document).ready(function(){ $( document ).on( 'focus', ':input', function(){ $( this ).attr( 'autocomplete', 'off' ); }); });
现在不推荐使用直播活动,您应该使用on事件。 这将附加到DOM中的每个输入,无论它是否已创建。 然后,它会将autocomplete =“off”属性添加到该输入。
$(document).ready(function() { $(document).on('focus', ':input', function() { $(this).attr('autocomplete', 'off'); }); });
使用jquery可能还不够,因为像chrome这样的浏览器可以在文档准备好之前加载’autocomplete’保存的数据($(document).ready)
jquery就是这样的
$('input, :input').attr('autocomplete', 'off');
但手动添加autocomplete='off'
到您的输入标签可能会更有效