jQuery属性、事件、链式编程、$冲突

一、jQuery特殊属性操作
  val():操作value属性
  html():获取和设置内容识别标签
  text():获取和设置内容不识别标签
  width():获取当前div的实际宽度
  innerWidth():获取当前div的实际宽度+padding的值
  outWidth():获取当前div的实际宽度+padding的值+边框的值:当参数为true是再加上margin的值
  height():获取当前div的实际高度
  innerHeight():获取当前div的实际宽度+padding的值
  outHeight():获取当前div的实际宽度+padding的值+边框的值:当参数为true是再加上margin的值

  scrollTop():获取页面被卷曲的高度
  scrollLeft():获取页面被卷曲的宽度

  获取元素的位置:返回object对象
    offset():获取元素相对于document的位置
    position():获取元素相对于有定位的父元素的位置

二、jQuery事件机制
  1、注册事件
    简单事件:给自己注册事件

    jq对象.click(function(){
    });
    jq对象.bind({
    click:function(){},
    mouseenter:function(){},
    });

  注意以上两种对于动态生成的jq对象没有事件

  委托事件:由当前元素下指定元素来执行

  delegate:委托:动态创建的时候也会有事件
    给父元素注册事件,最终子元素来执行
    jq对象.delegate("选择器",“事件类型",function(){});
      第一个参数:事件最终是什么元素来执行
      第二个参数:什么事件类型
      第三个参数:执行函数
  on方法的注册事件:
    第一种:给自己注册
      jq对象.on('事件名',function(){})
    第二种:委托:给子元素注册事件
    jq对象.on('事件名','子元素名',function(){})
    注意:先执行自己的委托事件再执行自己的事件

  2、移除事件绑定
    jq对象.off(事件名);不传参数则全部清除事件,如有参数则只删除此事件
    jq对象调用别的jq对象的事件:1、jq对象.click();2、jq对象.trigger('事件名')

  3、事件对象传参
    on注册事件时的传参: jq对象.on('事件名',data,function(e){var a = e.data})

  4、阻止事件冒泡和阻止标签的默认行为
    阻止默认行为: jq对象.on('事件名',data,function(e){e.prevenDefault()})
    阻止事件冒泡:e.stopPropagation()
    return false;能阻止事件冒泡也可以阻止默认行为

三、链式编程
    设置性操作:可以链式编程(原理返回jq对象)
    获取性操作:不可以链式编程(返回的不是jq对象)
    end()方法:返回上一次的jq对象

四、$函数冲突问题
  $.noConflict();
  方法一:jQuery释放$控制权后用jQuery代替$;
  方法二:var 变量 = $.noConflict(); 此变量可以替代$;

 

posted @ 2019-09-04 22:41  养一只Tom猫  阅读(196)  评论(0编辑  收藏  举报