【发布时间】:2016-05-01 19:45:31
【问题描述】:
我在table 中有一个input type="text"。 https://jsfiddle.net/L0vx0hck/
$('#myGrid').selectable({
filter: ".dataItemColumn,.dataText",
cancel: null,
distance: 10
});
td {
padding: 5px;
border: 1px solid black
}
.ui-selected {
background-color: lightblue
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="myGrid">
<tr>
<td class="dataItemColumn">
<input class="dataText" type="text" value="focusable" onclick="this.focus()" />
</td>
<td class="dataItemColumn">
<input type="text" class="dataText" value="aa" />
</td>
</tr>
<tr>
<td class="dataItemColumn">
<input type="text" value="focusable" onclick="this.focus()" />
</td>
<td class="dataItemColumn">
<input type="text" value="aa" />
</td>
</tr>
</table>
<input type="text" value="test" />
<table id="myGrid">
<tr>
<td class="dataItemColumn">
<input type="text" class="dataText" value="aa" />
</td>
</tr>
我让它可以选择
$('#myGrid').selectable({
filter: ".dataItemColumn,.dataText",
cancel: null,
distance: 10
});
在此之后,无法单击input 开始编辑。作为部分解决方法,我在input 上设置onclick="this.focus()"。也可以省略cancel: null。第一个选项允许仅在请求文本时开始编辑,并且不允许选择部分文本。另一个选项提供完整的编辑功能,但不允许通过拖动文本框来开始选择。
所以我需要什么:
- 能够通过拖动选择文本框(或其容器
td) 即使在文本框上开始拖动 - 能够通过以下方式开始编辑 点击文本框的任意位置
用鼠标选择文本的一部分也很有用,但不是必需的。
【问题讨论】:
标签: javascript jquery jquery-ui jquery-ui-selectable