怎么设置JQuery事件时绕过窗口上的弹出阻止程序。

设置JQuery事件时绕过窗口上的弹出阻止程序。

我想在超链接的单击事件上有条件地显示一个JQuery对话框。

我有一个类似于onCondition1的要求,打开一个JQuery对话,如果条件1不满足,导航到由其单击事件的‘href’标记引用的页面。

我能够在链接的点击事件上调用一个函数。这个函数现在通过执行另一个URL(执行我的Spring控制器并返回响应)来检查上述条件。

所有操作都很完美,只有窗口。打开被弹出窗口阻止。

$('a[href*=/viewpage?number]').live('click', function(e) {
    e.preventDefault();
    redirectionURL = this.href;
    pageId= getUrlVars(redirectionURL)["number"];
    $.getJSON("redirect/" + pageId, {}, function(status) {
        if (status == null) {
            alert("Error in verifying the status.");
        } else if(!status) {
            $("#agreement").dialog("open");
        } else {
            window.open(redirectionURL);
        }
    });});

如果我把e.preventDefault();从代码中,popoup阻止程序不会阻塞页面,但是对于条件1,它会打开对话并打开‘href’页面。

如果我解决了一个问题,就会给另一个人制造问题。我不能同时公正地对待这两种情况。

你能帮我解决这个问题吗?

一旦这个问题解决了,我还有另一个问题要解决,那就是在对话的OK事件上导航:)



不负相思意
浏览 407回答 3
3回答

狐的传说

我有这个问题,我还没有准备好我的url,直到回调会返回一些数据。解决方案是在启动回调之前打开空白窗口,然后在回调返回时设置位置。$scope.testCode = function () {     var newWin = $window.open('', '_blank');     service.testCode().then(function (data) {         $scope.testing = true;         newWin.location = '/Tests/' + data.url.replace(/["]/g, "");     });};
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JQuery