gpt4 book ai didi

javascript - 无法将事件监听器附加到 froala 富文本编辑器中呈现的元素

转载 作者:行者123 更新时间:2023-12-03 03:40:41 25 4
gpt4 key购买 nike

我正在尝试将一些事件监听器注册到使用 froala 编辑器 react 组件呈现的元素。我按照文档中的建议在 froala 配置中传递我的“潜在”事件监听器。

这就是我想要实现的目标

events : {
'froalaEditor.initialized': function(e, editor) {
var elements = document.getElementsByClassName('some-class-id-that-i-know-exists');
for (var i=0; i< elements.length ; i++) {
elements[i].addEventListener('mouseover', eventListnerSubscriber(elements[i]), true);
}
}
}

// outside config
function eventListnerSubscriber(element) {
console.log(element);
}

此处,事件鼠标悬停时的回调方法“eventListnerSubscriber”未被调用。

我做错了什么吗?

最佳答案

很可能您做错了什么。这是我测试的方法并且工作正常:

// Render Froala Editor component.
class EditorComponent extends React.Component {
constructor() {
super();

this.state = {
content: '<div class="foo">asdasdasd</div>'
};

this.config = {
events : {
'froalaEditor.initialized': function(e, editor) {
var elements = document.getElementsByClassName('foo');
for (var i=0; i< elements.length ; i++) {
elements[i].addEventListener('mouseover', function () {
console.log ('foo')
}, true);
}
}
}
}

this.handleModelChange = this.handleModelChange.bind(this);
}

handleModelChange (model) {
this.setState({
content: model
});
}

render () {
return(
<div className="sample">
<h2>Full Featured</h2>
<FroalaEditor
model={this.state.content}
onModelChange={this.handleModelChange}
config={this.config}
/>
<h4>Rendered Content:</h4>
<FroalaEditorView
model={this.state.content}
/>
</div>
);
}

}

ReactDOM.render(<EditorComponent/>, document.getElementById('editor'));

关于javascript - 无法将事件监听器附加到 froala 富文本编辑器中呈现的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45642461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com