gpt4 book ai didi

javascript - 如果我对 contenteditable 项目执行 "jquery sortable",那么我将无法再将鼠标聚焦在 contenteditable 文本内的任何位置

转载 作者:行者123 更新时间:2023-12-03 21:47:07 26 4
gpt4 key购买 nike

奇怪的是,这只在 Firefox 和 Opera 中被破坏(IE、Chrome 和 Safari 可以正常工作)。

有什么快速修复的建议吗?

<html>
<head>
<script src="<a href="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot" rel="noreferrer noopener nofollow">http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot</a>; type="text/javascript"></script>
<script src="<a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js&quot" rel="noreferrer noopener nofollow">http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js&quot</a>; type="text/javascript"></script>
<script>
$(document).ready(function(){
$('#sortable').sortable();
});
</script>
</head>
<body>
<span id="sortable">
<p contenteditable="true">One apple</p>
<p>Two pears</p>
<p>Three oranges</p>
</span>
</body>
</html>

最佳答案

我找到了这个问题的另一个“解决方案”。

在声明可排序时,您应该添加一个 cancel: 选项,如下所示:

<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({cancel: ':input,button,.contenteditable'});
});
</script>
</head>
<body>
<span id="sortable">
<p contenteditable="true" class="contenteditable">One apple</p>
<p>Two pears</p>
<p>Three oranges</p>
</span>
</body>
</html>

此版本不会强制将光标置于开始位置,但您也无法使用此字段进行拖动。我建议包装 <p>在具有某种拖动 handle 的容器中(例如 gmail 中每行开头的点)。

旁注:':input,button'是必需的,因为这是默认选项。如果您不添加这些,您会在输入字段和按钮方面遇到类似的问题。

关于javascript - 如果我对 contenteditable 项目执行 "jquery sortable",那么我将无法再将鼠标聚焦在 contenteditable 文本内的任何位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2995329/

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