使用.on()委派多个事件的最佳方法是什么?
这是一个委托事件的语法:
$(document).on('mouseeenter','.foo', function(){});
Run Code Online (Sandbox Code Playgroud)
这是多个事件的语法(未委托):
$('.foo').on({
mouseenter: function(){
//stuff
},
mouseleave: function(){
//stuff
}
});
Run Code Online (Sandbox Code Playgroud)
我想知道是否还有一种更简洁的方法可以做到这一点:
$(document).on('mouseenter', '.foo', function(){})
.on('mouseleave', '.foo', function(){});
Run Code Online (Sandbox Code Playgroud)
如果我必须这样做,这不是什么大不了的事,我对它比任何事情都更好奇.
我遇到fonts.com字体(特别是Avenir)的问题.我试图向他们询问这个问题,但他们无法重现它.
这两个图像具有相同的文本,具有相同的CSS,不同的网站除外:
Fonts.com:
我的网站:
这是在Mac上的Chrome上.Firefox并没有那么糟糕,但仍然有点厚.我还没有在IE中测试它,但我不认为它会有同样的问题.
那是什么导致了这个?为什么在同一浏览器/操作系统中表现不同?
我有一些元素在一个元素中飞来飞去,当窗口完成加载时需要改变它($(window).load...
)
当脚本加载时,我一直在努力寻找一种更优雅的方法来查找字符串.
值得注意的是,您还可以看到猖獗的重复使用parent
和next
运营商......
我已经尝试了,closest
但它只上了dom树一次(从我的理解)并且parents
从来没有真正为我工作过,但我可能错了.
防爆.
$(window).load( function(){
if($(".postmetadata:contains('Vancity Buzz')").length){
$(this).parent().parent().next().next().next().next('.articleImageThumb img').hide();
}
});
Run Code Online (Sandbox Code Playgroud)
这个运行的HTML输出看起来像这样:
<div class="boxy">
<div class="read">
<div class="postmetadata">Vancity Buzz</div>
<div class="articleTitle"></div>
</div>
<div class="rightCtrls"></div>
<div class="initialPostLoad"></div>
<div class="ajaxBoxLoadSource"></div>
<div class="articleImageThumb">
<a href="#">
<img src="image.png" class="attachment-large wp-post-image" alt=""/>
</a>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)