Если я делаю “jQuery, поддающийся сортировке” на contenteditable объекте (объектах), я затем не могу сфокусировать мышь нигде в contenteditable тексте больше

Странно это повреждается только в Firefox и Opera (IE, Chrome и работы Safari, как он должен).

Какие-либо предложения для быстрого исправления?



  
  
  


  
    

One apple

Two pears

Three oranges

18
задан Matej 8 June 2010 в 07:21
поделиться

1 ответ

На самом деле это работает, как вы можете видеть, нажав tab: редактируемый элемент получает фокус. Я думаю, проблема в том, что плагин sortable перехватывает событие mousedown и таким образом не дает редактируемому элементу получить фокус при нажатии на него.

Обходным решением является добавление обработчика события mousedown к редактируемому элементу, который обеспечивает получение фокуса:

<html>
<head>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js" type="text/javascript"></script>
  <script>
  $(document).ready(function(){
      $('#sortable').sortable();
      $('#editable')[0].onmousedown = function() {
          this.focus();
      };
  });
  </script>
</head>
<body>
  <span id="sortable">
    <p contenteditable="true" id="editable">One apple</p>
    <p>Two pears</p>
    <p>Three oranges</p>
  </span>
</body>
</html>
3
ответ дан 30 November 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: