有没有更简单的方法将spellcheck="false"
属性动态添加到AngularJS应用程序中的所有表单中,而不是进入AngularJS应用程序中的所有视图?
添加后,应用程序中的每个表单都是这样的:
<form spellcheck="false">
答案 0 :(得分:2)
Angular实际上会将HTML FORM
元素覆盖为指令。
https://github.com/angular/angular.js/blob/master/src/ng/directive/form.js
您可以在应用配置中修饰此指令,如下所示:
angular.module('app', [])
.config(['$provide', function ($provide) {
$provide.decorator('formDirective', ['$delegate', function ($delegate) {
var formDirective = $delegate[0];
var oldCompile = formDirective.compile;
formDirective.compile = function (tElement, tAttrs, transclude) {
// get original links
var compile = oldCompile ? oldCompile.apply(this, arguments) : {};
tElement.attr("spellcheck", "false");
return compile;
};
return $delegate;
}]);
}]);
答案 1 :(得分:1)
为什么在DOM加载后你只是add it with jQuery?
$(document).ready(function () {
// ... cool onLoad stuff
// Set form spellcheck attributes to false
$('form').attr('spellcheck', false);
});
答案 2 :(得分:0)
setAttribute
。&#xA;所以简单的方法如下(不需要jQuery):
angular.element(document).ready(()=&gt; {&#xA; //属性值的类型应为String&#xA; document.body.setAttribute('spellcheck','false');& #xA;});&#xA;
&#xA;&#xA; 最简单的答案是添加属性 spellcheck =“false”
直接到你的 body
元素(为什么不?)。