2011-12-23 65 views
0
function ShowToolTip() { 
var values = document.getElementById('HiddenEmbedptt').value; 
if (values == "True") { 
    alert(1); 
    $("#flashbanner").tooltip({ 
     bodyHandler: function() { 
      return $("#divDesc").html(); 
     }, 
     track: true, 
     showURL: false, 
     delay: 0 
    }); 
} 
} 

上面的代码是用来显示工具提示。但奇怪的行为是当我添加警报,提示内容是可见的,当我不添加警报,提示内容是不可见的。jquery工具提示奇怪的行为

HTML代码警报

<div id="tooltip" style="display: block; top: 100px; left: 46px; right: 0pt;" 
class="viewport-right"><h3 style="display: none;"></h3><div class="body">My Tooltip 
Text</div><div class="url" style="display: none;"></div></div> 

HTML代码,而警报

<div id="tooltip" style="display: block; left: 46px; right: 0pt; top: 100px;"><h3></h3> 
<div class="body"></div><div class="url"></div></div> 

我不知道可能是什么原因,如何警告可能改变代码的行为?

编辑:

function getPlayerWidth() { 
alert(1); 
$(document).bind('mousemove', function(e) { 
    $("#first").text("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY); 
    if (e.pageX >= 73 && e.pageX <= 340 ) { 
     //$("#divDesc").css({float:"right",position:"absolute",right:"0",clear:"left"}); 
     $("#tooltip").css({display:"block",left:"46px",right:"0",top:"100px",color:"red !important"}); 
    } 
    if (e.pageY >= 4 && e.pageX <= 290) { 
     //$("#divDesc").css({float:"right",position:"absolute",right:"0",clear:"left"}); 
     $("#tooltip").css({ display: "block", left: "46px", right: "0", top: "100px", color: "red !important" }); 
    } 
}); 
} 

回答

0

什么警报可以改变是在你的代码事件顺序,作为警告是阻止进一步的JavaScript执行,这可能意味着其他关键行动可能有时间在您的代码执行之前发生。

例如,如果ShowToolTipDOMReady之前被调用,有可能不是一个#flashbanner元素,但如果你介绍的警报时,DOM将有时间来加载,该元素将通过JavaScript引擎继续及时发现执行那段特定的代码。

是一个DOMReady监听你错过了什么?

$(function() { 
    ShowToolTip(); 
}); 
+0

呀ShowToolTip()被调用由您给出,但仍行为一样 – 2011-12-23 08:20:34

+0

你能提供一个[的jsfiddle(http://jsfiddle.net/)重现这个错误? – 2011-12-23 08:21:50

+0

我很抱歉,也有很多参与这一 – 2011-12-23 08:29:14