javascript
  • jquery
  • javascript-events
  • 2013-03-01 117 views 2 likes 
    2

    我有,當我點擊一個按鈕的時候觸發一個click事件,它會打開一個模態接口:如何從頁面加載中調用ajax單擊事件?

    $(".profileF2fClinicalServiceDetails").live("click", function(){ 
        var requestUrl = '/php/includes/ajax.php?operation=profile_edit_f2f_clinical_service_details&service=f2f&counsellor_id='+getPractitionerId($(this))+'&counsellor_address_id='+getAddressId($(this))+'&edit_level='+getEditLevel($(this))+'&tab='+getTab($(this)); 
        openDialog(requestUrl, "Edit Face to Face Service Details", 850, "location.replace(getCleanedLocationHref()+'&tab="+getTab($(this))+"');"); 
        return false; 
    }); 
    

    但現在我要提示此加載網頁時,我怎麼直接調用它被解僱從HTML?

    回答

    3

    將單擊事件中的代碼添加到名爲例如showPopup的獨立函數(而不是閉包)。然後更改綁定到單擊事件的功能,以調用showPopup,並在頁面加載時添加對showPopup函數的調用。

    的注意事項,爲1.7 jQuery的live功能已被棄用,你應該使用on代替(source

    您將有一些參數傳遞給函數,因爲你將無法在使用this最初的呼叫。第一次調用它時,你必須將這些參數傳遞給主函數,我不會推測你將如何確定這一點。

    觸發click事件時,可以按照當前使用的方式從元素中提取參數。你有這樣的事情:

    $(document).ready(function() { 
        // add the click event 
        $(".profileF2fClinicalServiceDetails").on("click", function() { 
         var Me = $(this); 
         showPopup(
          getPractitionerId(Me), 
          getAddressId(Me), 
          getEditLevel(Me), 
          getTab(Me) 
         ); 
        }); 
    
        // call the function right away 
        showPopup(
         [initial_counsellor_id], 
         [initial_address_id], 
         [initial_level], 
         [initial_tab] 
        ); 
    }); 
    
    function showPopup(counsellor_id, address_id, level, tab) { 
        var requestUrl = '/php/includes/ajax.php?operation=profile_edit_f2f_clinical_service_details&service=f2f&counsellor_id='+counsellor_id+'&counsellor_address_id='+address_id+'&edit_level='+level+'&tab='+tab; 
        openDialog(
         requestUrl, 
         "Edit Face to Face Service Details", 
         850, 
         "location.replace(getCleanedLocationHref()+'&tab="+tab+"');" 
        ); 
        return false; 
    } 
    

    文檔和相關讀物

    +1

    你是如何處理'$(this)'實例的? – Achrome 2013-03-01 17:28:46

    +0

    好點 - 第一個電話會使用什麼作爲'this'?你可以很容易地用bind來解決它,但問題仍然存在。 – 2013-03-01 17:31:13

    +0

    @AshwinMukhija在那裏!感謝您指出了這一點。 – 2013-03-01 17:37:29

    相關問題