簡體   English   中英

停止並稍后在jquery ui模式對話框中說服javascript事件

[英]stop and later persue javascript event in jquery ui modal dialog

我想停止一個事件,顯示一個模式對話框,如果用戶按下“是”,則繼續該事件。 event.run()在Firefox中帶來錯誤。

jQuery(element).click(function(event) {
    event.preventDefault();
    dialog.dialog({
        buttons: {
            'Ja': function() {
                event.run();
            },
            'Nein': function() {
                jQuery(this).dialog('close');
            }

        }
    }).dialog('open');
});

多虧了一個朋友和哈希棕,我設法解決了這個問題。 無法暫停和說服事件。 如果暫停,它將阻止整個DOM。 嘗試:

jQuery(link).click(function(){while(true)});

當使用jQuery時,可以設置其他事件參數:

jQuery(element).click(function(event, show_dialog) {
    var that = jQuery(this);
    if(!show_dialog) {
        dialog.dialog({
            buttons: {
                'Yes': function() {
                    that.trigger(event.type, [true]);
                },
                'No': function() {
                    jQuery(this).dialog('close');
                }

            }
        }).dialog('open');
        return false;
    } else {
        dialog.dialog('close');
        return true;
    }
});

第一次單擊show_dialog是未定義的,並顯示模式對話框。 在模式對話框中單擊“是”會觸發event.type(單擊),並為show_dialog附加參數true。 http://api.jquery.com/trigger/#trigger-eventType-extraParameters

that.trigger(event, [true]);不可能that.trigger(event, [true]); 我認為原因事件默認操作之前已被阻止。

那是因為在創建彈出窗口后,函數立即返回並且事件終止。
您需要做的.trigger()一個新事件。

注意:設置某種全局變量以忽略匿名函數中的第二個事件觸發(無限循環問題)。

請問您為什么要這樣做? 如果您click將消失怎么辦?
如果它只是觸發了另一個函數,為什么不調用該函數而不是嘗試event.run()呢?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM