Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么object.observe不适用于输入字段的value属性?_Javascript_Google Chrome_Object.observe - Fatal编程技术网

Javascript 为什么object.observe不适用于输入字段的value属性?

Javascript 为什么object.observe不适用于输入字段的value属性?,javascript,google-chrome,object.observe,Javascript,Google Chrome,Object.observe,我在玩最新版本的Chrome中的Object.observe,我想知道为什么它不适用于文本输入的“value”属性。下面的代码将记录添加/更改“foo”属性的更改,但不会记录更改value属性的更改。有人知道为什么吗 var myTextInput = document.getElementById('myTextInput'); Object.observe(myTextInput, function(changes){ changes.forEach(function(change)

我在玩最新版本的Chrome中的Object.observe,我想知道为什么它不适用于文本输入的“value”属性。下面的代码将记录添加/更改“foo”属性的更改,但不会记录更改value属性的更改。有人知道为什么吗

var myTextInput = document.getElementById('myTextInput');

Object.observe(myTextInput, function(changes){

  changes.forEach(function(change) {
    console.log(change);
  });

});

myTextInput.value = 'test123';
myTextInput.foo = 'bar';

我不知道为什么会这样,但由于您观察的是DOM元素的属性,所以使用这个选项可能更合适。

可能是因为DOM节点是主机对象,基本上可以做任何他们想做的事情(某种程度上)。还要注意的是,
Object.observe
是ES7的一部分,具有很强的实验性,尚未最终确定。
.value
DOM属性作为一个getter/setter afair实现,因此它并没有真正改变。@Bergi这似乎就是它可能的情况。出于可能相同的原因,mutationobserver也不会获取输入的value属性。我想知道值是如何存储的。这对value属性也不起作用。试过了,什么也没有得到。Addy Osmani在本文中也指出了这一点(在“限制”的底部):感谢链接!我不知道。