admin管理员组文章数量:1355564
I want to implement element in-placing edit using 'contenteditable' attribute. Is it possible to go into the edit state with mouse event simulation instead of user click?
function triggerEvent(element, eventType) {
let rect = element.getBoundingClientRect();
console.log(rect);
let event = new MouseEvent(eventType, {
clientX: rect.left + 20,
clientY: rect.top + 10,
view: window,
buttons: 1,
bubbles: true,
});
element.dispatchEvent(event);
}
document.getElementById('btn').addEventListener('click', (event) => {
let editArea = document.getElementById('edit-area');
editArea.setAttribute('contenteditable', true);
triggerEvent(editArea, 'mousedown');
});
DEMO: /
I want to implement element in-placing edit using 'contenteditable' attribute. Is it possible to go into the edit state with mouse event simulation instead of user click?
function triggerEvent(element, eventType) {
let rect = element.getBoundingClientRect();
console.log(rect);
let event = new MouseEvent(eventType, {
clientX: rect.left + 20,
clientY: rect.top + 10,
view: window,
buttons: 1,
bubbles: true,
});
element.dispatchEvent(event);
}
document.getElementById('btn').addEventListener('click', (event) => {
let editArea = document.getElementById('edit-area');
editArea.setAttribute('contenteditable', true);
triggerEvent(editArea, 'mousedown');
});
DEMO: https://jsfiddle/lfree/vkeq9fza/1/
Share Improve this question asked Jan 21, 2017 at 7:21 lfreelfree 2,2364 gold badges27 silver badges40 bronze badges2 Answers
Reset to default 5You just need to focus
the div:
let div = document.querySelector('div');
div.focus();
<div contenteditable="true">Div Content</div>
If I understand correctly, all you're trying to do is set focus to the element. Because you've already enabled contenteditable
, the following should be adequate:
editArea.setAttribute('contenteditable', true);
editArea.focus(); // Focus on the input which will activate editing
本文标签: javascriptHow to trigger 39contenteditable39 element into edit state using jsStack Overflow
版权声明:本文标题:javascript - How to trigger 'contenteditable' element into edit state using js? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744051781a2582556.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论