2012-04-24 68 views
0

我知道這個話題之前被問過,但他們不是關於jqueryui的。因此我無法確定他們是否會處理我的代碼。我有一個從不同組件調用的彈出窗口。但是我必須爲每個呼叫寫一個點擊功能。我想將其轉換爲可以稱之爲ca的函數。我的腳本是:將點擊函數轉換爲調用函數

<script type="text/javascript"> 
     $(document).ready(function() { 
      $('a#popup').live('click', function (e) { 

       var page = $(this).attr("href") 

       var $dialog = $('<div id="silmeIframe"></div>') 
       .html('<iframe style="border: 0px; " src="' + page + '" width="500px" height="500px"></iframe>') 
       .dialog({ 
        autoOpen: false, 
        modal: true, 
        height: 'auto', 
        resizable: 'false', 
        width: 'auto', 
        title: "Silmeyi onaylıyor musunuz?", 
        close: function (event, ui) { 

         __doPostBack('<%= btnRefresh.ClientID %>', ''); 
        } 
       }); 
       $dialog.dialog('open'); 
       e.preventDefault(); 

      }); 

     }); 
    </script> 

現在,我想它像

<a onclick="NewFunctionName(parameter1,parameter2,,parameter3)">click<a/> 
+0

工作,我不明白什麼是錯與此一。你爲什麼要爲每個人創建處理程序? jQuery可以將一個處理程序附加到多個元素。 – Joseph 2012-04-24 00:56:25

+0

@Joseph沒有什麼不對,他只是想改造它 – ajax333221 2012-04-24 00:59:12

+0

是的,我只想改造它。 – osmanraifgunes 2012-04-24 01:00:53

回答

1

single handler, multiple targets attachment

$(function() { 

    function handler(e,param1,param2...) { 
     var page = $(this).attr("href") 
     ... 
     $dialog.dialog('open'); 
     e.preventDefault(); 
    } 

    //write attachments 
    $('a#popup1').on('click',function(e){ 
     handler(e,param1,param2...); 
    }); 
    $('a#popup2').on('click',function(e){ 
     handler(e,param1,param2...); 
    }); 
    $('a#popup3').on('click',function(e){ 
     handler(e,param1,param2...); 
    }); 
}); 

or single handler, multiple targets in one query

$(function() { 
    $('a#popup1, a#popup2, a#popup3').on('click',function (e) { 
     var page = $(this).attr("href") 
     ... 
     $dialog.dialog('open'); 
     e.preventDefault(); 
    }); 
}); 
+0

感謝您的回答。我試過了。但我不知道如何在第一種方法中使用處理程序。我必須像你一樣寫作嗎?或者在標籤裏面? – osmanraifgunes 2012-04-24 01:25:40

+0

@ user1352563就是這樣。當你附加時('#popup#'部分),你的目標是''。你應該避免在元素中嵌入JavaScript。 – Joseph 2012-04-24 01:27:43

+0

我已經寫過,但它不起作用。它會在新頁面上打開標記href鏈接。但它應該以彈出的方式打開。也就是說,我認爲它沒有看到彈出的ID。 – osmanraifgunes 2012-04-24 01:35:59