JQuery难点备忘

1 jquery绑定事件如何传递参数

$("#btn").bind("click",{"id":"111","name":"aaa"}, getData);  
  
function getData(d) {  
    alert(d.data.id);  
    alert(d.data["name"])  
}  

2 setTimeout里怎么调用对象的方法

setTimeout(
    function(self) {
      return function() {
        alert(self);//这里面用self代替this
      }
    }(this), 1000);

3 this和$(this)的区别

复制代码
概念:
    this表示当前的上下文对象是一个html对象,可以调用html对象所拥有的属性和方法,$(this),代表的上下文对象是一个jquery的上下文对象,可以调用jquery的方法和属性值。

    $()生成的是什么呢?实际上$()=jquery(),就是说返回的是一个jquery的对象。
    通常我们为了简便直接使用$()。实际上,该函数省略了一个参数context。根据选择器选取匹配的对象即$(selector, context),以jQuery包装集的形式返回。context可以是Dom对象集合或jQuery包装集,传入则表示要从context中选择匹配的对象,不传入则表示范围为文档对象(即页面全部对象),即$(selector)=$(selector,document)。
 this指的是,调用函数的那个html对象。

例子:
$("#textbox").hover(   
  function() {   
       this.title = "Test";   
  },   
  fucntion() {   
      this.title = "OK”;   
  }   
);
这里的this其实是一个Html元素(textbox),this是js中的。textbox有text属性,所以这样写没什么问题。

$("#textbox").hover(   
       function() {   
   $(this).title = "Test";   
       },   
       function() {   
   $(this).title = "OK";   
       }  
);
这里的$(this)是一个JQuery对象,而jQuery对象沒有title 属性,因此这样写是错误的。

总结:
  this,表示当前的上下文对象是一个html对象,可以调用html对象所拥有的属性和方法。
  $(this),代表的上下文对象是一个jquery的上下文对象,可以调用jquery的方法和属性值。
复制代码

 4 app字体自适应

复制代码
//使用rem策略,不断更新html的fontsize
        (function(){                
            function sizeHtml(){
                var size = $(window).width()/16;
                size = size>40?40:size;
                $("html").css("font-size",size+"px");
            }
            sizeHtml();
            $(window).resize(function(){
                sizeHtml();
            })
        })()
复制代码

 

posted @   Jager  阅读(1016)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示