Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 禁用默认工具提示_Javascript_Jquery - Fatal编程技术网

Javascript 禁用默认工具提示

Javascript 禁用默认工具提示,javascript,jquery,Javascript,Jquery,这是一个工具提示脚本。它在所有浏览器中都能很好地工作,但是默认的工具提示在IE中没有被禁用 如何更新以下脚本以禁用默认工具提示 <script type="text/javascript"> $(document).ready(function() { // Tooltip only Text $('.masterTooltip').hover(function(){ // Hover over code var title = $(t

这是一个工具提示脚本。它在所有浏览器中都能很好地工作,但是默认的工具提示在IE中没有被禁用

如何更新以下脚本以禁用默认工具提示

<script type="text/javascript">
$(document).ready(function() {
   // Tooltip only Text
   $('.masterTooltip').hover(function(){
         // Hover over code
         var title = $(this).attr('title');
         $(this).data('tipText', title).removeAttr('title');
         $('<p class="tooltip"></p>').text(title).appendTo('body').fadeIn('slow');
    }, function() {
         // Hover out code
         $(this).attr('title', $(this).data('tipText'));
         $('.tooltip').remove();
    }).mousemove(function(e) {
          var mousex = e.pageX + 20; //Get X coordinates
          var mousey = e.pageY + 10; //Get Y coordinates
          $('.tooltip').css({ top: mousey, left: mousex })
    });
});
</script>

$(文档).ready(函数(){
//仅工具提示文本
$('.masterTooltip')。悬停(函数(){
//悬停在代码上方
var title=$(this.attr('title');
$(this.data('tipText',title.).removeAttr('title');
$('

).text(title).appendTo('body').fadeIn('slow'); },函数(){ //悬停代码 $(this.attr('title',$(this.data('tipText')); $('.tooltip').remove(); }).mousemove(函数(e){ var mousex=e.pageX+20;//获取X坐标 var mousey=e.pageY+10;//获取Y坐标 $('.tooltip').css({top:mousey,left:mousex}) }); });
我不认为有任何理由将
title
属性添加回blur上的元素中。它存储在jQuery元数据中。我猜这就是IE仍在展示它的原因。拆下线路

        $(this).attr('title', $(this).data('tipText'));
看看这能不能解决问题


编辑:这遗漏了一些要求。这未经测试,但可能有效:

$(document).ready(function() {
    $('.masterTooltip').each(function() {
        var title = $(this).attr('title');
        $(this).data('tipText', title).removeAttr('title');
    }).hover(function(){
        $('<p class="tooltip"></p>')
        .text($(this).data('tipText'))
        .appendTo('body')
        .fadeIn('slow');
    }, function() {
        $('.tooltip').remove();
    }).mousemove(function(e) {
        var mousex = e.pageX + 20;
        var mousey = e.pageY + 10;
        $('.tooltip')
        .css({ top: mousey, left: mousex })
    });
}); 
$(文档).ready(函数(){
$('.masterTooltip')。每个(函数(){
var title=$(this.attr('title');
$(this.data('tipText',title.).removeAttr('title');
}).hover(函数(){
$(“

”) .text($(this).data('tipText')) .appendTo('正文') .fadeIn(“慢”); },函数(){ $('.tooltip').remove(); }).mousemove(函数(e){ var mousex=e.pageX+20; var mousey=e.pageY+10; $(“.tooltip”) .css({top:mousey,left:mousex}) }); });

请注意,这是次优的,因为它在
每个
块中调用
$(this)
两次,但这应该很容易修复。

我有一个简单的解决方案来禁用IE或其他浏览器左/右底部显示的默认工具提示。[如果您的默认工具提示与我提到的相同]

只需编写一个简单的javascript函数

function GoToLink()
    {
        location.href = "mypage.htm";
    }
在taglike中调用此函数

<a id="204" name="wow" class="SettPage" href="" onclick="GoToLink()">


你好,斯科特,谢谢你的即时回复。。我试着照你说的做。。现在发生的是,当我第一次将鼠标移到图像上时,默认标题和工具提示都出现了。。第二次,当我将鼠标悬停在同一图像上时,标题和工具提示都不会显示。抱歉,收集标题和设置TiptText的行也需要移出.hover分支,移到更早的.each部分。我会更新我的答案。很高兴它有效。如果你想的话,肯定有优化的空间。没有充分的理由在每次悬停时创建和销毁工具提示。您可以简单地更改文本。您还可以在
hover()
块中缓存对
$(this)
的调用。祝你好运。我想你误解了这个问题。如果元素上有title属性,则不会禁用工具提示。这只会阻止目标url显示在状态栏中。