Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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
Javascript 在标签模式下选择2下拉菜单,单击“离开”时自动滚动_Javascript_Jquery_Jquery Select2 - Fatal编程技术网

Javascript 在标签模式下选择2下拉菜单,单击“离开”时自动滚动

Javascript 在标签模式下选择2下拉菜单,单击“离开”时自动滚动,javascript,jquery,jquery-select2,Javascript,Jquery,Jquery Select2,复制步骤: 在标签模式下设置select2下拉列表 开始键入标记 在焦点仍在下拉列表中的情况下,使用鼠标滚轮滚动到页面的其他部分 现在点击某个地方 观察结果: 您将被向后滚动,以便标记下拉列表位于视口中 您可以在项目上看到此行为的实际作用 预期成果: 从标记下拉列表中单击不应影响滚动位置 这在我正在使用的应用程序中尤其令人恼火,因为表单的保存按钮不在屏幕上。如果用户输入一个标签,然后用鼠标滚轮滚动到保存按钮(这是一个非常直观的流程,在向其他填写的表单中添加新标签时),然后单击保存按钮,则单击不会

复制步骤:

  • 在标签模式下设置select2下拉列表
  • 开始键入标记
  • 在焦点仍在下拉列表中的情况下,使用鼠标滚轮滚动到页面的其他部分
  • 现在点击某个地方
  • 观察结果: 您将被向后滚动,以便标记下拉列表位于视口中

    您可以在项目上看到此行为的实际作用

    预期成果: 从标记下拉列表中单击不应影响滚动位置

    这在我正在使用的应用程序中尤其令人恼火,因为表单的保存按钮不在屏幕上。如果用户输入一个标签,然后用鼠标滚轮滚动到保存按钮(这是一个非常直观的流程,在向其他填写的表单中添加新标签时),然后单击保存按钮,则单击不会在按钮上注册。相反,用户将自动滚动回下拉列表,而焦点不再位于下拉列表中。现在,他们可以再次滚动并单击实际按钮

    有人知道如何解决这个问题吗?我对更新源代码毫不犹豫(为了修复其他select2怪癖,我已经这么做了)


    (FWIW,到目前为止,我还没有在Select2 repo中记录错误,因为我对它的维护活动似乎有疑问)

    这可以在HTML中使用
    @KeeganKuhn轻松地完成,但是,我不想自动滚动。也许你可以用jquery覆盖该行为。像
    $('#tagBoxId').blur(function(){})
    @lloyd hmmm。。。听起来有点骇人听闻,因为select2是自动滚动的,所以我需要跟踪在自动滚动之前我在哪里,让自动滚动发生,然后滚动回我在哪里。我真的希望select2一开始不做自动滚动。