如何收听contentEditable基于更改事件的控件?
var Number = React.createClass({
render: function() {
return <div>
<span contentEditable={true} onChange={this.onChange}>
{this.state.value}
</span>
=
{this.state.value}
</div>;
},
onChange: function(v) {
// Doesn't fire :(
console.log('changed', v);
},
getInitialState: function() {
return {value: '123'}
}
});
React.renderComponent(<Number />, document.body);
Run Code Online (Sandbox Code Playgroud)
我正在尝试制作enter用于更新模型的内容可编辑标记.
我的代码如下,这是一个你可以在Ellie上玩的版本.
单击"模糊"属性可以在单击时使用并更新模型.但我希望在enter按下时获得相同的"更新"功能.
view : Model -> Html Msg
view model =
let
attrs =
[ contenteditable True
--, on "blur" (Json.map UpdateTitle targetTextContent)
, onInput2 UpdateTitle
, onEnter EnterPressed
, id "title"
, class "title"
]
in
div []
[ h1 attrs [ text model.existing ]
, text "Click above to start editing. Blur to save the value. The aim is to capture an <enter> and interpret that as a blur, i.e. to …Run Code Online (Sandbox Code Playgroud)