我点击了' a'标签&页面正在某个域重定向。现在我已经在' a'上写了一些函数。标签点击使用" e.preventDefault()"。我使用" var temp = e.target;"
将目标安全保存在另一个变量中但是当我再次开火时,它没有在没有任何js错误的情况下开火。
这里是代码: -
var allowedReload = false;
var reloadTargetControl = null;
$('a').click(function (e) {
debugger;
if (allowedReload == undefined || allowedReload == false) {
reloadTargetControl = e.target;
e.preventDefault();
pageLeaveConfirmBox(); /*this function is creating custom confirm box with Yes/No button*/
/******* Custom confirm box - yes button code *******/
$("#popUpBtnYes").click(function () {
debugger;
allowedReload = true;
$(reloadTargetControl).click(); /*this step is executing the same script again but nothing is happening, can any one explain it why? */
});
}
});
答案 0 :(得分:1)
要手动触发事件,您应该使用触发功能:
$(reloadTargetControl).trigger('click');
除此之外,您可以通过更改以下内容来改进代码:
if (allowedReload == undefined || allowedReload == false)
到
if (allowedReload === undefined || !allowedReload)
答案 1 :(得分:0)
在你的#popUpBtnYes点击功能中,你将allowedReload
设置为true,但条件的else
部分在哪里可以处理这个真实条件?您已向原始目标发送了一个click事件,但未提供任何表达式来处理已更改的状态。我认为您需要的只是else { return true; }
才能实现这一目标。