Contenteditable клик вокруг элемента вокруг и выбран в Chrome

В Chrome у меня есть простой contenteditable="true" span, и если пользователь щелкает по нему, курсор появляется, и он может начать редактирование. Это раздражает b/c. Мне нужно, чтобы курсор отображался, когда пользователь нажимает на сам диапазон, а не за его пределами.

Пример: http://jsbin.com/oyamab/edit#javascript,html,live

Html ниже...

<body>
  <span id="hello" contenteditable="true">Hello World</span>
</body>

Если вы заходите по этой ссылке в Chrome, щелкните в любом месте в окне рендеринга html (крайний правый столбец в jsbin), и вы можете начать редактирование. В Firefox, с другой стороны, вам нужно щелкнуть по фактическому диапазону, чтобы отредактировать его (yay!).

Нужно ли просто принимать это как вещь Chrome, или там есть взломать ее? Спасибо.

Ответ 1

Я сильно подозреваю, что это просто вещь WebKit. Вы можете обойти это, сделав диапазон contenteditable только тогда, когда он нажал

Демо: http://jsfiddle.net/timdown/nV4gp/

HTML:

<body>
  <span id="hello">Hello World</span>
</body>

JS:

document.getElementById("hello").onclick = function(evt) {
    if (!this.isContentEditable) {
        this.contentEditable = "true";
        this.focus();
    }
};