Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌套Jquery Ui中的传播问题_Jquery_Html_Jquery Ui_Jquery Ui Selectable - Fatal编程技术网

嵌套Jquery Ui中的传播问题

嵌套Jquery Ui中的传播问题,jquery,html,jquery-ui,jquery-ui-selectable,Jquery,Html,Jquery Ui,Jquery Ui Selectable,问题是:在嵌套的jQueryUISelective中,选择上下文最顶层的子元素意味着当我单击项1时,它会选择项1,但当我单击项111或1111时,它会选择项2,而我只需要焦点所在的元素,而不需要它的父元素,直到鼠标聚焦于该元素 请记住,可能存在任何纯html,但不限于ul、li,它仅用于说明目的 <ul id="selectable"> <li>Item 1</li> <li>Item 2 <ul > &l

问题是:在嵌套的jQueryUISelective中,选择上下文最顶层的子元素意味着当我单击项1时,它会选择项1,但当我单击项111或1111时,它会选择项2,而我只需要焦点所在的元素,而不需要它的父元素,直到鼠标聚焦于该元素

请记住,可能存在任何纯html,但不限于ul、li,它仅用于说明目的

<ul id="selectable">
  <li>Item 1</li>
  <li>Item 2

    <ul >
      <li>Item 11
        <ul >
          <li>Item 111</li>
          <li>Item 112</li>
          <li>Item 113</li>
          <li>Item 114

            <ul >
              <li>Item 1111</li>
              <li>Item 1112</li>
              <li>Item 1113</li>
              <li>Item 1114</li>
              <li>Item 1115</li>
            </ul>  

          </li>
          <li>Item 115</li>
        </ul>  

      </li>
      <li>Item 12</li>
      <li>Item 13</li>
      <li>Item 14</li>
      <li>Item 15</li>
    </ul>  
  </li>
  <li>Item 3</li>
  <li>Item 4</li>
  <li>Item 5</li>
</ul>
小提琴是:-

我已经通过了已经提出的问题,但无法找到任何解决这个问题的办法,任何帮助将是非常有用的

我想这不是为这种行为设计的。但您仍然可以手动执行此操作:

$(document).ready(function()
{
    $("*").click(function()
    {
        $(".ui-selected").removeClass("ui-selected");
        var thisEl = $(this);
        if (thisEl.closest("#selectable").length)
        {
            thisEl.addClass("ui-selected");
        }
        return false;
    });
});

此外,为了模拟jQuery UI可选(并使用其样式),您可以添加如下内容:

$(document).ready(function()
{
    var selectable = $("#selectable");
    selectable.addClass("ui-selectable");
    selectable.find("*").addClass("ui-selectee");
});
使用该选项

距离
表示选择何时开始的公差(以像素为单位)。如果指定,则在将鼠标拖动到指定距离之外之前,不会开始选择。


例如,
距离:10
(10像素),下面的元素将有机会收到单击。

非常感谢您的帮助!但它对鼠标拖动不起作用@developerCK您的意思是在使用鼠标选择区域时选择相关元素?是的!正如可选的那样,只需用鼠标左键拖动鼠标即可。这实际上是个问题。@developerCK好吧,也可以手动创建,尽管看起来实现起来并不容易。您还可以尝试修复库中所需元素的选择(jqueryui可选)并使用修改后的库。
$(document).ready(function()
{
    var selectable = $("#selectable");
    selectable.addClass("ui-selectable");
    selectable.find("*").addClass("ui-selectee");
});