jQuery-将GET数据插入div仅在第二次触发后才能工作

时间:2013-11-03 14:32:21

标签: javascript php jquery html

我正在尝试使用jQuery获取数据,并在将鼠标悬停在链接上后将其放入div中。它正在工作,但仅限于第二次悬停。第一个悬停实例没有做任何事情。为什么呢?

jQuery(document).ready(function($){

$(".tiptrigger").hover(function() { 

    var s_href = $(this).attr('href');
    var s_title = $(this).attr('title');

    $(".tiptitle").empty().append(s_title); // Only working after second instance

    var get_url = "/root/data.php"+s_href;

    $.get( get_url, function( data ) {
      var tip_content = data; 
    $("#tipcontent").empty().append(tip_content); // Only working after second instance

});
});

HTML:

<a class="tiptrigger" title="My Title" href="?s=something">Hover over me</a>

<div class="tipbox"><p class="tiptitle"></p><p id="tipcontent"></p></div>

最后,GET请求发送到的PHP页面:

<?php

if ($_GET['s'] == "something") {
  echo "This should appear in the paragraph.";
}

?>

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

为.hover()的handlerOut()第二个处理程序提供一个空的存根函数,你只需提供一个处理程序,它在进出链接时执行,所以这样做:< / p>

$(".tiptrigger").hover(function() { 

    var s_href = $(this).attr('href');
    var s_title = $(this).attr('title');

    $(".tiptitle").empty().append(s_title); // Only working after second instance

    var get_url = "/root/data.php"+s_href;

    $.get( get_url, function( data ) {
      var tip_content = data; 
    $("#tipcontent").empty().append(tip_content); // Only working after second instance

}
, function() {}); //PROVIDE EMPTY HANDLER FOR MOUSEOUT