如何检查元素是否已初始化 autoNumeric
How to check if element has autoNumeric initialized
如何检查 HTML 元素是否已经 autoNumeric 初始化,所以我不会再次初始化它?
初始化两次会导致所有输入数字出现两次。
if (// autonumeric not yet initialized) {
var anObject = new AutoNumeric(document.querySelector(inputSel), autoNumericSettings);
}
编辑:检查的原因是 autoNumeric 可能先前在其他地方初始化过,在另一个脚本中具有不同 autoNumericSettings
,并且此脚本需要遵守较早的设置。
不要在 if 内部声明变量,在外部声明然后检查。
var anObject = null;
if(anObject !== null) {
anObject = new AutoNumeric(document.querySelector(inputSel), autoNumericSettings);
}
如果你post你的代码多一点我可以做得更好,我真的不知道你完整代码的结构,但原理是一样的。
可能,您可以使用 getAutoNumericElement(domElement)
检查 HTML 元素是否已经初始化了 autoNumeric
if (AutoNumeric.getAutoNumericElement(domElement) === null) {
var anObject = new AutoNumeric(document.querySelector(inputSel), autoNumericSettings);
}
您确实可以像 Aliaksandr 提到的那样使用 AutoNumeric.getAutoNumericElement(domElement)
来检查是否返回了元素,但是 官方 方法来检查 DOM 元素是否返回已经由 AutoNumeric 管理的是:
AutoNumeric.isManagedByAutoNumeric(domElementOrSelector);
所以你的代码应该像这样更新:
let anObject;
if (!AutoNumeric.isManagedByAutoNumeric(inputSel)) {
// Also, no need to querySelector `inputSel` here:
anObject = new AutoNumeric(inputSel, autoNumericSettings);
}
如何检查 HTML 元素是否已经 autoNumeric 初始化,所以我不会再次初始化它?
初始化两次会导致所有输入数字出现两次。
if (// autonumeric not yet initialized) {
var anObject = new AutoNumeric(document.querySelector(inputSel), autoNumericSettings);
}
编辑:检查的原因是 autoNumeric 可能先前在其他地方初始化过,在另一个脚本中具有不同 autoNumericSettings
,并且此脚本需要遵守较早的设置。
不要在 if 内部声明变量,在外部声明然后检查。
var anObject = null;
if(anObject !== null) {
anObject = new AutoNumeric(document.querySelector(inputSel), autoNumericSettings);
}
如果你post你的代码多一点我可以做得更好,我真的不知道你完整代码的结构,但原理是一样的。
可能,您可以使用 getAutoNumericElement(domElement)
检查 HTML 元素是否已经初始化了 autoNumeric
if (AutoNumeric.getAutoNumericElement(domElement) === null) {
var anObject = new AutoNumeric(document.querySelector(inputSel), autoNumericSettings);
}
您确实可以像 Aliaksandr 提到的那样使用 AutoNumeric.getAutoNumericElement(domElement)
来检查是否返回了元素,但是 官方 方法来检查 DOM 元素是否返回已经由 AutoNumeric 管理的是:
AutoNumeric.isManagedByAutoNumeric(domElementOrSelector);
所以你的代码应该像这样更新:
let anObject;
if (!AutoNumeric.isManagedByAutoNumeric(inputSel)) {
// Also, no need to querySelector `inputSel` here:
anObject = new AutoNumeric(inputSel, autoNumericSettings);
}