javascript
  • jquery
  • javascript-events
  • 2013-03-01 96 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

    相关问题