jQueryFocus和focusout,这被认为是可接受的标记吗?
我正在学习/试图在jQuery中做得更好。我想知道下面的标记是否可以接受,或者是否有一种更干净、更小的方法来完成相同的任务jQueryFocus和focusout,这被认为是可接受的标记吗?,jquery,focus,semantic-markup,focusout,Jquery,Focus,Semantic Markup,Focusout,我正在学习/试图在jQuery中做得更好。我想知道下面的标记是否可以接受,或者是否有一种更干净、更小的方法来完成相同的任务 $(document).ready(function(){ $('#searchwrapper .searchbox').focus(function(e) { $('#searchwrapper .searchbox_submit').css('color', '#999999'); } ); $('#se
$(document).ready(function(){
$('#searchwrapper .searchbox').focus(function(e) {
$('#searchwrapper .searchbox_submit').css('color', '#999999');
}
);
$('#searchwrapper .searchbox').focusout(function(e) {
$('#searchwrapper .searchbox_submit').css('color', '#dddddd');
}
);
});
编辑/解决方案
感谢和我最终使用的js
$(document).ready(function(){
var swap_color = $('#searchwrapper .searchbox_submit');
$('#searchwrapper .searchbox').focus(function(e) {
swap_color.css('color', '#999999');
}
).blur(function(e) {
swap_color.css('color', '#dddddd');
}
);
});
看起来还可以,也许您可以通过缓存选择器来提高选择器的使用率
$('#searchwrapper.searchbox_submit')
您可以通过链接生成一个更优化的jquery语句,并使用
blur
而不是focusout
,因为这一个冒泡了focusout事件,您可能不需要冒泡事件,
就像这样:
$('#searchwrapper .searchbox').focus(function(e) {
$('#searchwrapper .searchbox_submit').css('color', '#999999');
}
).blur(function(e) {
$('#searchwrapper .searchbox_submit').css('color', '#dddddd');
}
);
您还应该将将来将要使用的jquery选择器存储在javascript变量中,如下所示:
var selector = $('#searchwrapper .searchbox_submit');
然后调用css
:
$('#searchwrapper .searchbox').focus(function(e) {
selector.css('color', '#999999');
}
).blur(function(e) {
selector.css('color', '#dddddd');
}
);
是的,谢谢。。。我在玩这个,但由于语义错误而无法工作。以你为例,我现在知道我做错了什么,谢谢!谢谢,我放弃了1,因为我用了模糊而不是聚焦。谢谢
$('#searchwrapper .searchbox').focus(function(e) {
selector.css('color', '#999999');
}
).blur(function(e) {
selector.css('color', '#dddddd');
}
);