Angular contenteditable change event未被解雇

时间:2016-07-18 19:04:07

标签: javascript angularjs events angularjs-scope contenteditable

我在execCommand上对我的控制器范围应用直接更改时遇到问题。

change事件未在here找到的可疑指令中触发,我必须模糊div才能应用更改。它是一个bug还是还有其他事情要做?

我的jsfiddle用于测试。

===编辑===

粗体execCommand正在使用dom,但它不会直接更新控制器范围,除非事件像字段上的键盘或模糊一样触发。

Real time field is not update

1 个答案:

答案 0 :(得分:2)

change事件不会触发对DOM元素值的所有更改。解决方案是使用input事件。

  element.on('input', function() {
      scope.$evalAsync(read);
  });
  

变化

     

input事件不同,更改事件不一定会因元素值的每次更改而触发。

- Mozilla Developer Network -- Events -- Change

  

输入

     

<input><textarea>元素的值发生更改时,将同步触发DOM输入事件。 此外,当内容发生变化时,它会在contenteditable个编辑器上触发。在这种情况下,事件目标是编辑主机元素。如果有两个或多个元素具有满足的真实性,那么编辑主机&#34;是最近的祖先元素,其父元素不可编辑。

- Mozilla Developer Network -- Events -- Input