【发布时间】:2020-02-14 15:30:25
【问题描述】:
当我将 zoomooz.js 放入带有 jqueryui 自动完成功能的网页时,它只在第一次工作,下拉菜单不再接受鼠标点击。为了工作,我将鼠标移动到目标上,然后单击键盘上的 Enter 键。
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/zoomooz/1.1.6/jquery.zoomooz.min.js"></script>
<script>
$( function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$( "#tags" ).autocomplete({
source: availableTags
});
} );
</script>
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags">
</div>
<img class="zoomTarget" data-targetsize="0.05" data-closeclick="true" src="file.png">
标签自动完成并不总是有效,只有第一次,但如果我删除 zoomooz,它就可以正常工作
【问题讨论】:
-
欢迎来到 Stack Overflow。页面加载时,您是否在控制台中看到任何错误?尝试加载自动完成后,您是否看到任何内容?根据我在 GitHub 中看到的内容,它似乎没有冲突的命名空间,因此很难看出是否会出现问题。
-
另外,您似乎没有使用 jQuery UI 自动完成功能:api.jqueryui.com/autocomplete
minChars、autoFill和mustMatch不属于该库。 -
对不起,我复制了 zoomerang 但它是 zoomooz.js。现在您可以运行代码并查看问题
-
看起来
click事件在第二轮发生冲突。菜单出现,但您无法选择菜单中的项目。 -
clickTarget.on("click", function(evt) { // closeclick 在此处不可用... if(settings.closeclick && zoomTarget.hasClass("selectedZoomTarget")) { settings.root. click(); } else { zoomTarget.zoomTo(settings); } evt.stopPropagation(); });问题出在 evt.stopPropagation();我认为
标签: javascript jquery-ui autocomplete conflict zoomooz