停止&在JavaScript中触发事件

时间:2014-04-28 17:34:14

标签: javascript jquery javascript-events popup confirm

我点击了' 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? */
    });
} 
});

2 个答案:

答案 0 :(得分:1)

要手动触发事件,您应该使用触发功能:

$(reloadTargetControl).trigger('click');

除此之外,您可以通过更改以下内容来改进代码:

if (allowedReload == undefined || allowedReload == false)

if (allowedReload === undefined || !allowedReload)

答案 1 :(得分:0)

在你的#popUpBtnYes点击功能中,你将allowedReload设置为true,但条件的else部分在哪里可以处理这个真实条件?您已向原始目标发送了一个click事件,但未提供任何表达式来处理已更改的状态。我认为您需要的只是else { return true; }才能实现这一目标。