当前位置:  开发笔记 > 编程语言 > 正文

jQuery:当绑定/单击事件用于类时,引用调用对象(this)

如何解决《jQuery:当绑定/单击事件用于类时,引用调用对象(this)》经验,为你挑选了1个好方法。



1> Owen..:

$(this)仅在功能范围内相关.但是在功能之外,它失去了这个参考:

$('.classSelect').one("click", function() {
   $(this); // refers to $('.classSelect')

   $.ajax({
   // content
      $(this); // does not refer to $('.classSelect')
   });
});

处理这个问题的更好方法可能是:

$('.classSelect').one("click", function() {
    var e = $(this);

    $.ajax({
    ...
        success : function(request) {
          e.html(request);
        }
    }); // end ajax

    $(this).bind('click', function() {
    // bind stuff

    }); // end bind

}); // end one

顺便问一下,你熟悉这个load()方法吗?我发现基本的ajax更容易(因为它作用于包装的集合,而不是它像一个独立的函数$.ajax().这里我将如何重写这个使用load():

$('.classSelect').one('click', function() {
    var options = {
       type : 'post',
       dataType : 'text',
       data : {
         '_service' : myService,
         '_program' : myProgram ,
         'param' : myParams
       }           
    } // end options

    // load() will automatically load your .classSelect with the results
    $(this).load(myUrl, options);


    $(this).click(function() {
    // etc...

    }); // end click

}); // end one

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有