我正在尝试设置一个javascript点击检测器
如果此人未点击“link1”或“link2”而点击第2部分,则会弹出一条警告,告诉他点击其中一个链接。
如果此人点击链接,他应该被允许进入thankyou页面
我的问题是,即使他点击其中一个链接,也不会让用户通过。
<a id="postos" href="http://link1.com">Link1</a><br>
<a id="postos" href="http://link2.com">Link2</a><br>
<script src="http://code.jquery.com/jquery-1.5.1.min.js"></script>
<script>
$("#postos").click(function () {
$("#linkos").attr('href', 'http://example.com');
});
</script>
Part 2 Click <a id="linkos" href='javascript:window.alert("please click a link");'> Here </a>
答案 0 :(得分:1)
您不能拥有两个ID相同的元素。
将其更改为班级:
<a class="postos" href="http://link1.com">Link1</a><br>
<a class="postos" href="http://link2.com">Link2</a><br>
$(".postos").click(function () {
$("#linkos").attr('href', 'http://example.com');
});
答案 1 :(得分:0)
多次使用相同的ID无效。
在第一个链接中添加一个类,然后使用类选择它们:
<a class="link" href="http://link1.com">Link1</a><br>
<a class="link" href="http://link2.com">Link2</a><br>
$(".link").click(function (e) {
$("#linkos").attr('href', 'http://example.com');
});
<强> DEMO 强>
答案 2 :(得分:0)
ID应该是唯一的,因此更好的用户类:
<a class="postos" href="http://link1.com">Link1</a><br>
<a class="postos" href="http://link2.com">Link2</a><br>
JS
$(".postos").click(function () {
$("#linkos").attr('href', 'http://example.com');
});
答案 3 :(得分:0)
id
必须是唯一的,从ID更改为class
:
<强> HTML:强>
<a class="postos" href="http://link1.com">Link1</a><br>
<a class="postos" href="http://link2.com">Link2</a><br>
<a id="linkos" href='http://example.com'> Here </a>
<强> jQuery的:强>
$('.postos').click(function(){
$(this).data('clicked', 'yes');
})
$('#linkos').click(function(){
if ($('.postos[data-clicked="yes"]').length == 0)
{
alert("please click a link");
return false;
}
});
答案 4 :(得分:0)
使用此:
<script>
var next = function () {
var confirmWindow = confirm("You want to go to a_website.");
if (confirmWindow) {
return true;
}
return false;
};
</script>
<a href="your_url" onclick="return next();">Text here...</a>
单击按钮(onclick属性)后,它将调用一个函数。
然后,该功能将仅询问用户是否要去那里。
根据点击的按钮,将返回true
或false
。
然后if
语句将只查看它是对还是错。
然后将运行正确的代码。
这是您想要的吗?