JQuery всплывающая подсказка странное поведение - PullRequest
0 голосов
/ 23 декабря 2011
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
    });
 }
}

Приведенный выше код используется для отображения всплывающей подсказки. Но странное поведение возникает, когда я добавляю предупреждение, содержимое всплывающей подсказки отображается, а когда я не добавляю предупреждение, содержимое всплывающей подсказки не отображается.

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" });
    }
});
}

1 Ответ

0 голосов
/ 23 декабря 2011

Что может изменить предупреждение, так это порядок событий в вашем коде, поскольку предупреждение блокирует дальнейшее выполнение JavaScript, это может означать, что другие критические действия могут успеть произойти до того, как ваш код будет выполнен.

Например, если ShowToolTip вызывается до DOMReady, возможно, не существует элемента #flashbanner, но если вы введете предупреждение, DOM будет иметь время для загрузки, и элемент будетобнаруженный к тому времени, когда движок javascript продолжает выполнять этот конкретный фрагмент кода.

Является ли слушатель DOMReady тем, что вам не хватает?

$(function() {
    ShowToolTip();
});
...