海外主机测评

您现在的位置是:首页 > 国外服务器 > 正文

国外服务器

jquerybindjquery bind失效

cds8202023-03-14国外服务器92
本文目录一览:1、jQuery中bind函数用法2、jquery绑定点击事件的方法3、jQuery中bind()方法中的参数4、jQuery事件绑定方法bind,live,d

本文目录一览:

  • 1、jQuery中bind函数用法
  • 2、jquery绑定点击事件的方法
  • 3、jQuery中bind()方法中的参数
  • 4、jQuery事件绑定方法bind,live,delegate和on的区别
  • 5、Jquery中bind和live的区别
  • 6、jquery中的bind,live,delegate和on方法的区别是什么

jQuery中bind函数用法

问题1:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 TransitiONal//EN" ""

html xmlns=""

head

meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

titleSimple JQuery/title

script type="text/javascript" src="js/jquery.js"/script

script type="text/javascript"

$(function(){

$('#mybtn').bind('click', {a : 'hello', b : 'world'}, myFun);

});

function myFun(e) {

alert(e.data.a);

alert(e.data.b)

}

/script

/head

body

input type="button" id="mybtn" value="Click me." /

/body

/html

如上面例子,可以传递多个参数。

-------------------------------------------------------

问题2:

$('pTest/p').appendTo('.inner');

$('.inner').append('pTest/p');

上面这个是append()和appendTo()区别,应该一目了然了吧?

而appendChild()不是jquery的方法,而是javascript原生的方法。

append和appendChild的关系是:

其实几乎一样,append就是调用appendChild实现的,只是在append前,做一个简单判断。下面贴下jquery的源代码:

append: function() {

return this.domManip(arguments, true, function( elem ) {

if ( this.nodeType === 1 ) {

this.appendChild( elem );

}

});

}

--------------------------------------------------

问题3:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""

html xmlns=""

head

meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

titleSimple JQuery/title

script type="text/javascript" src="js/jquery.js"/script

script type="text/javascript"

$(function(){

$('#mybtn').bind('click', myFun);

});

function myFun() {

alert($(this).attr('value'));

}

/script

/head

body

input type="button" id="mybtn" value="Click me." /

/body

/html

第3个问题不是看的很明白?直接调用应该可以呀,看看这个例子是不是你想要的?

---------------------------------------------------

问题4:网上有很多,查看参考链接这个吧。

jquery绑定点击事件的方法

jQuery绑定点击事件可以使用其绑定事件函数

jquery中四个事件绑定方式(bind,live,delegate,on)

1、bind()    

简要描述

bind()向匹配元素添加一个或多个事件处理器。

使用方式

$(selector).bind(event,data,function)

event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;

单事件处理:例如 $(selector).bind("click",data,function);

多事件处理:

1.利用空格分隔多事件,例如 $(selector).bind("click dbclick mouseout",data,function);

2.利用大括号灵活定义多事件,例如 $(selector).bind({event1:function, event2:function, ...}) 

3.空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;

大括号替代方式:绑定较为灵活,可以给事件单独

绑定函数; 

data:可选;需要传递的参数;

function:必需;当绑定事件发生时,需要执行的函数;

适用Jquery版本

适用所有版本,但是根据官网解释,自从jquery1.7版本以后bind()函数推荐用on()来代替。

2、live()   

简要描述

live() 向当前或未来的匹配元素添加一个或多个事件处理器;

使用方式

$(selector).live(event,data,function)

event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;

单事件处理:例如 $(selector).live("click",data,function);

多事件处理:1.利用空格分隔多事件,例如 $(selector).live("click dbclick mouseout",data,function);

2.利用大括号灵活定义多事件,例如 $(selector).live({event1:function, event2:function, ...}) 

3.空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;

大括号替代方式:绑定较为灵活,可以给事件单独绑定函数; 

data:可选;需要传递的参数;

function:必需;当绑定事件发生时,需要执行的函数;

适用Jquery版本

jquery1.9版本以下支持,jquery1.9及其以上版本删除了此方法,jquery1.9以上版本用on()方法来代替。

3、delegate()

简要描述

delegate() 为指定的元素(被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。

使用方式 

$(selector).delegate(childSelector,event,data,function)

childSelector: 必需项;需要添加事件处理程序的元素,一般为selector的子元素;

event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;

单事件处理:例如 $(selector).delegate(childselector,"click",data,function);

多事件处理:1.利用空格分隔多事件,例如 $(selector).delegate(childselector,"click dbclick mouseout",data,function);

2.利用大括号灵活定义多事件,例如 $(selector).delegate(childselector,{event1:function, event2:function, ...}) 

3.空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;

大括号替代方式:绑定较为灵活,可以给事件单独绑定函数; 

data:可选;需要传递的参数;

function:必需;当绑定事件发生时,需要执行的函数;

适用Jquery版本

jquery1.4.2及其以上版本;

4、on()

简要描述

on() 为指定的元素,添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。使用 on() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。

使用方式 

$(selector).on(event,childselector,data,function)

event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;

单事件处理:例如 $(selector).on("click",childselector,data,function);

多事件处理:1.利用空格分隔多事件,例如 $(selector).on("click dbclick mouseout",childseletor,data,function);

2.利用大括号灵活定义多事件,例如 $(selector).on({event1:function, event2:function, ...},childselector); 

3.空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;

大括号替代方式:绑定较为灵活,可以给事件单独绑定函数; 

childSelector: 可选;需要添加事件处理程序的元素,一般为selector的子元素;

data:可选;需要传递的参数;

function:必需;当绑定事件发生时,需要执行的函数;

适用Jquery版本

jquery1.7及其以上版本;jquery1.7版本出现之后用于替代bind(),live()绑定事件方式;

四种方式的异同和优缺点

相同点:

1.都支持单元素多事件的绑定;空格相隔方式或者大括号替代方式;

2.均是通过事件冒泡方式,将事件传递到document进行事件的响应;

比较和联系:

1.bind()函数只能针对已经存在的元素进行事件的设置;但是live(),on(),delegate()均支持未来新添加元素的事件设置;

2.bind()函数在jquery1.7版本以前比较受推崇,1.7版本出来之后,官方已经不推荐用bind(),替代函数为on(),这也是1.7版本新添加的函数,同样,可以

用来代替live()函数,live()函数在1.9版本已经删除;

3.live()函数和delegate()函数两者类似,但是live()函数在执行速度,灵活性和CSS选择器支持方面较delegate()差些

4.bind()支持Jquery所有版本;live()支持jquery1.8-;delegate()支持jquery1.4.2+;on()支持jquery1.7+; 

总结

如果项目中引用jquery版本为低版本,推荐用delegate(),高版本jquery可以使用on()来代替,以上仅为个人看法

jQuery中bind()方法中的参数

bind() 方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数。其语法为:

$(selector).bind(event,data,function)

参数说明如下:

event:规定添加到元素的一个或多个事件。必需。

data:  规定传递到函数的额外数据。可选。

function: 规定当事件发生时运行的函数。必需。

示例如下:

// 当点击鼠标时,隐藏或显示 p 元素:

$("button").bind("click",function(){

  $("p").slideToggle();

});

jQuery事件绑定方法bind,live,delegate和on的区别

bind是用来绑定一个或多个事件的,live其实bind的一个加强版,用来绑定通过JavaScript或者jQuery添加的DOM元素事件,其语法结构是一样

123456$("p").bind("mouseenter mouseleave",function(){alert("ok");})$("p").live("mouseenter mouseleave",function(){alert("ok");})

delegate用于事件委托,也是绑定过JavaScript或者jQuery添加的DOM元素事件。

123$("div").delegate("p","click",function(){alert("p");})

点击div下面的P执行alert;

而on是在1.7之后新增的,是把bind,live,delegate全部合并在一起了,

123$("div").on("click","p",function(){ alert(1); })

不需要事件委托的时候把P去掉就会变成点击div触发了。

个人建议根据版本来使用,语法其实都差不多,如果你是用1.7版本以上就建议用on,毕竟bind,live,delegate这些将来都会遗弃了,如有错误,请指出。顺便吐槽一下楼上的回答,不走心啊

Jquery中bind和live的区别

以click事件为例

Jquery中绑定事件有三种方法:

1、target.click(function(){});

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

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

live方法,只有在click事件发生的时候,才会去检测绑定事件的对象target是否存在,所以live方法可以实现后来新增子元素的事件的绑定。

bind会在事件在绑定阶段bind时就会判断绑定事件的对象target是否存在,而且只针对当前元素进行绑定,而不是绑定到父节点上。

以下举例。

按钮1会触发bind和live的绑定事件。

按钮2会触发live的绑定事件。不会触发bind的事件,因为绑定click事件的时候按钮2还没有生成。

script type="text/javascript"

    $(function () {

        $("#btn1").bind("click", function () { alert("bind"); });

        $("#btn2").bind("click", function () { alert("bind"); });

        $("#btn1").live("click", function () { alert("live"); });

        $("#btn2").live("click", function () { alert("live"); })

        $("body").append("span id=\"btn2\"按钮2/span")

    });

/script

body

    span id="btn1"按钮1/span

/body

jquery中的bind,live,delegate和on方法的区别是什么

$(selector).bind(event,data,function)

$(selector).live(event,data,function)//jquery1.9版本以下支持,jquery1.9及其以上版本删除了此方法,jquery1.9以上版本用on()方法来代替$(selector).delegate(childSelector,event,data,function)//jquery1.4.2及其以上版本;$(selector).on(event,childselector,data,function)//jquery1.7及其以上版本;jquery1.7版本出现之后用于替代bind(),live()绑定事件方式;

event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;

单事件处理:例如 $(selector).bind("click",data,function);

多事件处理:1.利用空格分隔多事件,例如 $(selector).bind("click dbclick mouseout",data,function);

2.利用大括号灵活定义多事件,例如 $(selector).bind({event1:function, event2:function, ...}) 

3.空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;

大括号替代方式:绑定较为灵活,可以给事件单独绑定函数; 

data:可选;需要传递的参数;

function:必需;当绑定事件发生时,需要执行的函数;适用所有版本,但是根据官网解释,自从jquery1.7版本以后bind()函数推荐用on()来代替。

jquerybind的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于jquery bind失效、jquerybind的信息别忘了在本站进行查找喔。

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~