Подсказка Jquery не работает должным образом - PullRequest
1 голос
/ 17 декабря 2009

Вот код jquery для всплывающей подсказки при наведении курсора на ссылку.

Ошибка - когда я нахожу на него курсор, он устанавливает заголовок в ноль, показывает, что он будет отображаться один раз, а затем ничего не появится, если я наведу курсор на него.

Когда я удаляю this.title = ""; это работает, но название ссылки появляется также

HTML

 < a href="#" class="tooltip" title="Name< br>Test">ToolTip< /a>

Jquery

 this.tooltip = function(){ 

    xOffset = 10;
    yOffset = 20;               

$("a.tooltip").hover(function(e){                                             
    this.t = this.title;
    this.title = "";                                          
    $("body").append("<p id='tooltip'>"+ this.t +"</p>");
    $("#tooltip")
        .css("top",(e.pageY - xOffset) + "px")
        .css("left",(e.pageX + yOffset) + "px")
        .fadeIn("fast");        
},
function(){
    this.title = this.t;        
    $("#tooltip").remove();
}); 
$("a.tooltip").mousemove(function(e){
    $("#tooltip")
        .css("top",(e.pageY - xOffset) + "px")
        .css("left",(e.pageX + yOffset) + "px");
});         

};

1 Ответ

1 голос
/ 17 декабря 2009

Вы хотите выполнить проверку, если заголовок пуст. Причина в том, что вы слепо устанавливаете переменную t независимо от того, что и очищаете заголовок. Попробуйте это:

this.tooltip = function(){ 
    xOffset = 10;
    yOffset = 20;

    $("a.tooltip").hover(function(e){
        if(this.t === undefined || this.t.length == 0) {

           this.t = this.title;
           this.title = "";
        }
        $("body").append("<p id='tooltip'>"+ this.t +"</p>");
        $("#tooltip")
                .css("top",(e.pageY - xOffset) + "px")
                .css("left",(e.pageX + yOffset) + "px")
                .fadeIn("fast");
    }, function(){
        this.title = this.t;
        $("#tooltip").remove();
    }); 
    $("a.tooltip").mousemove(function(e){
        $("#tooltip")
                .css("top",(e.pageY - xOffset) + "px")
                .css("left",(e.pageX + yOffset) + "px");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...