【问题标题】:Setting contenteditable on double click - IE does not allow editing unless clicked one more time在双击时设置 contenteditable - IE 不允许编辑,除非再单击一次
【发布时间】:2025-12-23 01:55:11
【问题描述】:

基本上,我在双击时将 contentEditable 设置为 true。在 IE 8,9,10 中它没有焦点,例如打字不会改变任何东西,你必须第三次点击才能获得焦点。在 Chrome 中它按预期工作(您双击并可以开始输入) 这是演示问题的最小jsfiddle(使用mootools)。

$('dummy').addEvent('dblclick', function(){
    $('dummy').setProperty('contentEditable', true);
    $('dummy').focus();
});

如果它很重要,点击的元素是绝对定位的 div。

如何解决这个问题?

【问题讨论】:

  • 如果将focus 放入setTimeout 会怎样?我知道这是一个糟糕的解决方案,但 IE 也是如此。
  • 这也是我的建议。

标签: javascript internet-explorer cross-browser mootools contenteditable


【解决方案1】:

IE 是... IE。

试试这个:

$('dummy').addEvent('dblclick', function () {
    this.setProperty('contentEditable', true);
    this.blur();
    this.focus();
});

Fiddle

【讨论】: