cho*_*sta 2 javascript each jquery bind function
谁能告诉我使用bind()分配事件处理程序之间的区别:
$(function(){
$('someElement')
.bind('mouseover',function(e) {
$(this).css({
//change color
});
})
.bind('mouseout',function(e) {
$(this).css({
//return to previous state
});
})
.bind('click',function(e) {
$(this).css({
//do smth.
});
})
});
Run Code Online (Sandbox Code Playgroud)
并使用each()执行相同的任务:
$('someElement').each(function(){
$(this).mouseover(function(){$(this).css({/*change color*/})
.mouseout(function(){$(this).css({/*return to previous state*/});
});
});
});
Run Code Online (Sandbox Code Playgroud)
谢谢.
从你给出的例子中,我认为你实际上在询问使用'bind'方法和'event'方法之间有什么区别(如果有的话).
例如,有什么区别:
$('.some_element').bind('click',function() { /* do stuff */ });
Run Code Online (Sandbox Code Playgroud)
... 还有这个?
$('.some_element').click(function() { /* do stuff */ });
Run Code Online (Sandbox Code Playgroud)
答案是,这无关紧要.这是一个偏好问题.事件方法在语法上更简单,涉及更少的输入,但据我所知,确实没有任何区别.我更喜欢使用绑定方法,因为如果需要将多个事件附加到同一个操作,则可以使用速记事件绑定.它还可以让您更容易理解何时/是否需要"解除绑定"事件.
请参阅:.bind与其他事件之间的区别
但是,从实际问题的问题来看,"'每种'方法和'绑定'方法之间有什么区别"......嗯,这是一个完全不同的野兽.
你应该从来没有真正使用"每个"的方法来连接事件,因为"绑定"和"事件"方法使用多快CSS选择器引擎(在jQuery的情况下,它使用滋滋声引擎).
几乎没有(或从来没有)这样的情况:
$('.some_element').each(function() { $(this).click(function() { /* do something */ }); });
Run Code Online (Sandbox Code Playgroud)
......比这更好:
$('.some_element').bind('click',function() { /* do stuff */ });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1394 次 |
| 最近记录: |