liujiekun
liujiekun

各位注意看源代码,人家给了配置了,设置monitor之后,会使用window.MutationObserver,来observe这个dom包括子节点的变化,如果你这个时候使用remove,window.MutationObserve监听到了dom的变化,会重新调用loadMark,然后水印就会被重新添加回来,意思是你既然使用了monitor为true,就不要尝试用remove了,如果想要使用remove就把monitor设置成false,因为它默认会设置成true。 @saucxs 这里有一个问题,就是使用了init的时候,会给window设置load和resize事件,这个时候就要注意remove了,remove的时候,建议根据monitor的值,来决定是否给window把这两个事件监听给去掉,否则,这边刚调完remove去掉了水印,窗口一变化,水印立刻又有了。 我这边变通办法:为了使用load和resize,只能放弃init,因为事件添加了之后,无法去掉,使用load,然后我手动添加和去除resize和load事件。
我今天也遇到这个问题了,首次输入change并未触发,非要等到输入第二个字符才会触发
不过有可以替换的方案,比如监听input的input事件,然后在监听事件中,去调用form的validateField方法,去手动校验