十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、jQuery绑定事件的三种方法
成都创新互联公司主营淮阴网站建设的网络公司,主营网站建设方案,成都APP应用开发,淮阴h5微信平台小程序开发搭建,淮阴网站营销推广欢迎淮阴等地区企业咨询
我们这里首先复习一下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事件
['diva href=""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=""googlea';
$('img:first').click(function(){
fn_name(arg);
});
jquery中,所有的html标签都可以被包装为jQuery对象:
var
dtlist
=
$("datalist");
//或者datalist
的class、id等属性
自定义函数的参数为jQuery对象,传递参数的时候直接使用
dtlist
就可以。
bind() 方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数。其语法为:
$(selector).bind(event,data,function)
参数说明如下:
event:规定添加到元素的一个或多个事件。必需。
data: 规定传递到函数的额外数据。可选。
function: 规定当事件发生时运行的函数。必需。
示例如下:
// 当点击鼠标时,隐藏或显示 p 元素:
$("button").bind("click",function(){
$("p").slideToggle();
});
function fn(arg1,arg2,arg3) {
console.log(arguments[0]); //arg1
console.log(arguments[1]); //arg2
console.log(arguments[2]); //arg3
}
这个不需要用到jQuery,arguments通过一个伪数组的形式保存了所有的参数,可以通过length和下标来访问。