如何解决使用jquery删除标签属性时,IE是否会失败?
| 我正在为元素的标题atrib使用不同的框。我已经开发了一个简单的jQuery东西来做,但是...“有史以来最好的朋友”,即IE,无法正常工作。很简单,不要像其他浏览器一样删除标题atrib。结果:在显示标题atrib的框和自己的浏览器框上方。我该如何解决? (下一个代码)。 注意:可在Chrome,Safari,Firefox,Opera上使用。但是IE不会。<title>Box</title>
<Meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
<style type=\"text/css\">
#dBox {
background: #003767;
padding: 5px 8px;
position: absolute;
margin: 20px;
color: white;
font-size: 14px;
display: inline;
/* border radius specif browsers */
-webkit-border-radius: 3px; /* safari,chrome */
-khtml-border-radius: 3px; /* ktml browsers */
-moz-border-radius: 3px; /* firefox,mozila found. */
-o-border-radius: 3px; /* opera,opmob */
}
</style>
<script type=\"text/javascript\" src=\"js/jquery-1.5.2.min.js\"></script>
<script type=\"text/javascript\">
var dBox_time = 120;
var delay_time = 500;
$(document).ready(function(){
$(\'<div id=\"dBox\"></div>\').insertAfter((\'body\'));
$(\"[title != \'\']\").each(function() {
$(this).addClass(\'lkBox\');
$(this).css({border: \'1px solid red\'});
});
$(\'#dBox\').empty();
$(\'#dBox\').css({
display: \'none\',opacity: \'0\'
})
$(document).mousemove(function(e){
$(\'#dBox\').css({
\'left\': e.pageX,\'top\' : e.pageY
})
})
$(\'.lkBox\').mouSEOver(function(){
$(\'#dBox\').text($(this).attr(\'title\'));
$(\'#dBox\').css({display: \'block\'})
.stop().animate({opacity: \'1\'},dBox_time)
})
$(\'.lkBox\').mouSEOut(function(){
$(this).attr(\'title\',$(\'#dBox\').text());
$(\'#dBox\').css({display: \'none\'})
.stop().animate({
opacity: \'0\'
},dBox_time)
})
})
</script>
身体:
<div style=\"float: left; width: 70%; padding: 50px;\">
<h1>Examples: (mouse over the links)</h1>
<p>Curabitur lacus tortor,pellentesque eget <a href=\"#\">interdum in</a>,auctor et lorem. In in quam lorem,vel <a href=\"#\" title=\"i´m am a title =). must show\">sagittis lec</a>. Donec felis leo,id fermentum nibh porttitor. Vestibulum ante <a href=\"#\" title=\"\">empy title (dont need to work)<span></span></a> primis. Lorem ipsum dolor sit amet,<a href=\"#\" title=\"another title to show\">lorem ipsum</a> elit.</p>
</div>
INFO:如果在警报之后
$(this).attr(\'title\',$(\'#dBox\').text());
它在IE上有效。.但是我不能使用警报。
解决方法
我在FF4中测试了您的代码,并且得到了与IE中相同的双标题工具提示行为(您的工具提示会弹出,然后在继续将鼠标悬停在链接上后,会弹出一秒钟的内置FF)。根据您发布的代码,这绝对是预期的行为。
您需要做的是利用不同的属性(即:使用\'dboxtitle \'而不是\'title \'),或者您将需要在鼠标悬停/鼠标悬停时动态删除并重新添加标题,以便浏览器看不到它(请参阅:在链接和上禁用浏览器工具提示)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。