我試圖觸發點擊事件的鏈接從一個點擊處理程序中的同一鏈接。我想要停止導航鏈接,直到用戶收到某些操作的通知。一旦行動完成,鏈接應該正常導航。觸發點擊從點擊處理程序內
請參閱下面的測試用例。
<!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