我试图触发点击事件的链接从一个点击处理程序中的同一链接。我想要停止导航链接,直到用户收到某些操作的通知。一旦行动完成,链接应该正常导航。触发点击从点击处理程序内
请参阅下面的测试用例。
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<script language="javascript" type="text/javascript">
$(function() {
$("#test").click(function (e) {
var lnk = $(this);
if (lnk.data("checked") != true) {
var notice = $('<a href="#">Continue</a>');
$('body').append(notice);
notice.click(function (e) {
lnk.data("checked", true);
lnk.click();
return false;
});
return false;
}
alert("should navigate now");
});
});
</script>
<a id="test" href="http://www.google.com">Test</a>
</body>
</html>
该示例的预期行为是;
- 测试点击
- 继续出现
- 继续点击
- 页面导航到 '测试'
的href相反,被点击继续,警报 '现在应该导航'显示,但浏览器不执行任何操作。
手动触发可能不会触发元素 –
检查类型lnk.data(“选中”)''的的默认行为,它可能被认为不是'falsy' –
@ArunPJohny你有参考吗? – Alex