Jquery事件、冒泡、委托与节点

来源:互联网 发布:python salesforce 编辑:程序博客网 时间:2024/05/22 11:32

1-jquery属性操作

 

1、html() 取出或设置html内容

  //取出html内容

var $htm =$('#div1').html();

// 设置html内容

$('#div1').html('<span>添加文字</span>');

 

2、prop() 取出或设置某个属性的值

注:attr可以读取自定义属性

  //取出图片的地址

var $src =$('#img1').prop('src');

// 设置图片的地址和alt属性

$('#img1').prop({src:"test.jpg", alt: "Test Image" });

 

02-jquery事件

 

事件函数列表:

blur()元素失去焦点
focus() 元素获得焦点
click() 鼠标单击
mouseover() 鼠标进入(进入子元素也触发)
mouseout() 鼠标离开(离开子元素也触发)
mouseenter() 鼠标进入(进入子元素不触发)
mouseleave() 鼠标离开(离开子元素不触发)
hover() 同时为mouseenter和mouseleave事件指定处理函数
ready() DOM加载完成
resize() 浏览器窗口的大小发生改变
scroll() 滚动条的位置发生变化
submit() 用户递交表单

 

绑定事件的其他方式

 $(function(){
    $('#div1').
bind('mouseover click', function(event){
        alert($(this).html());
    });
});

取消绑定事件

  $(function(){
    $('#div1').bind('mouseover click',function(event) {
        alert($(this).html());

//$(this).unbind();
        $(this).unbind('mouseover');

});
});

 

 

3-事件冒泡

父级对象所有同类事件

 

事件冒泡的作用

  • 事件冒泡允许多个操作被集中处理(把事件处理器添加到一个父级元素上,避免把事件处理器添加到多个子级元素上),它还可以让你在对象层的不同级别捕获事件。

 

阻止事件冒泡

  • 事件冒泡机制有时候是不需要的,需要阻止掉,通过event.stopPropagation() 来阻止

 

阻止默认行为

  • 阻止表单提交
    $('#form1').submit(function(event){
     
     event.preventDefault();
    })

 

 

4-事件委托

 

  • 事件委托就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作

 

事件委托的写法

 $(function(){
    $list = $('#list');
 
  $list.delegate('li', 'click', function() {
       $(this).css({background:'red'});
    });
})
...
<ul id="list">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
   <li>5</li>
</ul>

 

 

5-jquery元素节点操作

 

创建节点

var $div =$('<div>');
var $div2 = $('<div>
这是一个div元素</div>');

插入节点

1、append()和appendTo():在现存元素的内部,从后面插入元素

  var $span = $('<span>这是一个span元素</span>');
$('#div1').append($span);
......
<div id="div1"></div>

2、prepend()和prependTo():在现存元素的内部,从前面插入元素

3、after()和insertAfter():在现存元素的外部,从后面插入元素

4、before()和insertBefore():在现存元素的外部,从前面插入元素

删除节点

$('#div1').remove();

 

原创粉丝点击