簡體   English   中英

鏈接點擊上的Javascript和Jquery No Conflict函數

[英]Javascript and Jquery No Conflict function on Link Click

我需要在無沖突模式下運行jQuery。 我有一個鏈接,單擊該鏈接可打開一個對話框功能。 在控制台中,我收到一條錯誤,指出-'Uncaught ReferenceError:未定義show_appeal_dialog'

鏈接在這里:

<a style='color:blue;' href='javascript:void(0)' onclick='show_appeal_dialog(33558)'>Denied</a>

這是jQuery:

var $j = jQuery.noConflict();

$j(function(){
function show_appeal_dialog(ponumber){
$j("#appeal_dialog").dialog({
        title: 'Appeal Notes',
        modal: true,
        width: 660,
        height:250,
        open: function() {
            $j(this).html(ponumber);
        },
        buttons: {
            Ok: function() {
            $j(this).dialog("close");
            }
        }
});
}
});

我試圖用jQuery替換$ j,還更改了var $ j(function)並刪除了$ j(function)並僅使用javascript。

您的問題是您已在文檔就緒處理程序范圍中定義了show_appeal_dialog

您應該擺脫丑陋的嵌入式點擊處理程序,例如

 var $j = jQuery.noConflict(); $j(function() { function show_appeal_dialog(ponumber) { $j("#appeal_dialog") .html(ponumber) .dialog({ title: 'Appeal Notes', modal: true, width: 660, height: 250, autoOpen: true, buttons: { Ok: function() { $j(this).dialog("close"); } } }); } $j(".anchor").click(function() { show_appeal_dialog($j(this).data("popnumber")); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/smoothness/jquery-ui.css" /> <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script> <a class="anchor" data-popnumber="33558" style='color:blue;' href='#' >Denied</a> <div id="appeal_dialog" style="display:none;"></div> 

因為范圍是問題。 您將其包裝在文檔就緒調用中,這會使該函數在全局范圍內不可用。 它與無沖突模式無關。

擺脫包裝函數的$j(function(){或在沒有內聯onclick屬性的情況下掛接事件)。

暫無
暫無

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

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