<script src="https://code.jquery.com/jquery-3.6.0.min.js">script>
<span class="checkbox2">
<span class="upout"><a href="https://www.aaa.com">AAAa>span>
<span class="upout"><a href="https://www.bbb.com">BBBa>span>
<span class="upout"><a href="https://www.ccc.com">CCCa>span>
<span class="upout"><a href="https://www.ddd.com">DDDa>span>
span>
<br><br><br>
<input type="text" name="name" style="width:100%" placeholder="搜索 " autocomplete="off">
<script type="text/javascript">
//单击取链接的文字,双击才打开链接
$(document).ready(function(){
$('.upout').click(function(event){
var inputVal = $('input[name="name"]').val();
var name = $(this).text();
if (inputVal.indexOf(name) == -1) {
if (inputVal == '') {
$('input[name="name"]').val(name);
} else {
$('input[name="name"]').val(inputVal + ' ' + name);
}
}
event.preventDefault();
if (event.detail === 2) {
var url = $(this).attr("href");
window.open(url, '_blank');
}
});
});
script>
这段jquery代码有问题了~
单击取链接的文字成功了
双击才打开链接失效了:双击可以打开新窗口,但是新窗口的地址栏是about:blank,网址并没有传递过去吗?还是什么原因呢?
<script type="text/javascript">
//单击取链接的文字,双击才打开链接
$(document).ready(function(){
var clicked = false;
$('.upout').click(function(event){
var inputVal = $('input[name="name"]').val();
var name = $(this).text();
if (inputVal.indexOf(name) == -1) {
if (inputVal == '') {
$('input[name="name"]').val(name);
} else {
$('input[name="name"]').val(inputVal + ' ' + name);
}
}
if (!clicked) {
clicked = true;
setTimeout(function() {
if (clicked) {
clicked = false;
} else {
var url = $(event.target).closest('a').attr('href');
window.open(url, '_blank');
}
}, 300);
} else {
clicked = false;
var url = $(event.target).closest('a').attr('href');
window.open(url, '_blank');
}
event.preventDefault();
});
});
</script>
这样写可以了,感觉写复杂了,但还是拿出来给需要的朋友。
if (event.detail === 2) {
var url = $(this).find('a').attr('href'); //这里
console.log(url)
window.open(url, '_blank');
}
```javascript
```