您的位置:首页 > Web前端 > JQuery

jQuery事件之传递参数

2015-11-29 21:44 609 查看
一、jQuery绑定事件的三种方法

  我们这里首先复习一下jQuery绑定事件的三种方法:

target.click(function(){});

target.on("click",function(){});

target.bind("click",function(){});

target.live("click",function(){});


live方法其实是bind方法的变种,其基本功能就同bind方法的功能是一样的,都是为一个元素绑定某个事件,但是bind方法只能给当前存在的元素绑定事件,对于事后采用JS等方式新生成的元素无效,而live方法则正好弥补了bind方法的这个缺陷,它可以对后生成的元素也可以绑定相应的事件。

二、传递参数

1.使用trigger触发事件来进行参数传递

$('p:first').bind('myclick',function(event,arg1,arg2){
$(arg1).appendTo('body');
console.log(arg2);
});

$('input').click(function(){
$('p:first').trigger('myclick',//这里触发了myclick事件
['<div><a href="http://www.google.com.hk">google</a></div>'
,'this is to console.log']); //第二个参数 string
});


2.使用bind传递参数

var name_value='stonecold';
$('p').bind('click',{name:name_vlaue},function(event){
console.log(event.data.name);//结果在控制台上显示为stonecold
});


3.在简单的事件中传递参数

A:首先定义一个函数,在点击的时候触发:

function fn_name(arg1){
$(arg1).appendTo('body');
}


B:定义一个变量作为参数传递

var arg='<a href="http://www.google.com.hk">google<a>';
$('img:first').click(function(){
fn_name(arg);
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: