gpt4 book ai didi

Javascript OnClick 需要双击而不是单击

转载 作者:行者123 更新时间:2023-11-28 06:48:16 26 4
gpt4 key购买 nike

这是一个简短的脚本,用于从数组 (ar_menu_ref) 中查找结果。结果是带有简单 url 的链接。但我需要双击才能打开链接。

输入> liveSearchValue(用户输入值)div > liveSearchResultList(由 liveSearchMenu() 生成的结果)

第一次单击生成的链接会再次运行“liveSearchMenu()”。但为什么?此 html 标记上没有“onclick”、注册事件或其他任何内容(使用 IE11 进行测试和调试)。

<html>
<head>
<script src="jquery-1.4.2.js"></script>
<script>
var ar_menu_ref = new Array( new Array("home", "http://google.de"), new Array("home zwei", "http://google.de"), new Array("home drei", "http://google.de"), new Array("home vier", "http://google.de"), new Array("home fuenf", "http://google.de"), new Array("home sechs", "http://google.de"), new Array("home sieben", "http://google.de"), new Array("home acht", "http://google.de"), new Array("home neun", "http://google.de"), new Array("home zehn", "http://google.de"), new Array("home elf", "http://google.de"), new Array("home zwoelf", "http://google.de"));
var ar_findings = new Array();
var string;
var index;
function liveSearchMenu(){
string = $("#liveSearchValue").val();
ar_findings = new Array();
for(var i=0; i<ar_menu_ref.length && ar_findings.length < 10 ; i++){
index = ar_menu_ref[i][0].indexOf(string);
if(index >= 0){
ar_findings.push(i);
}
}

$("#liveSearchResultList").html("");
for(var j=0; j<ar_findings.length; j++){
$("#liveSearchResultList").append("<a href='"+ ar_menu_ref[ar_findings[j]][1] +"'>" + ar_menu_ref[ar_findings[j]][0] + "</a><br/>");
}
console.debug(string);
return true;
}

$(document).ready(function(){
$('input').bind('change keyup',function (){
liveSearchMenu();
});
});
</script>
</head>
<body>
<input id="liveSearchValue" type="text" value="">
<div id="liveSearchResultList">
</div>
</body>
</html>

f

最佳答案

The first click on the generated -link runs "liveSearchMenu()" again. But why?

$('input').bind('change keyup',function (){
liveSearchMenu();
});

这是监听您的输入的代码。它监听任何输入框中的更改,但它也监听任何输入框中按键(keyup)的释放。

也许您误解了 change 的作用。当元素的值更改时它不会触发,而是仅在满足 2 个条件时触发:

  • 元素模糊(失去焦点);
  • 该元素的值与获得焦点时的值不同。

编辑:感谢 Crisim Il Numenoreano帮助我更详细地解释。 :)

关于Javascript OnClick 需要双击而不是单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33211683/

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