IE中的jQuery工具提示定位问题

时间:2011-11-24 11:26:48

标签: css internet-explorer jquery

我有IE的问题(多么令人惊讶)。我在我的页面上制作了一个问题报告功能(报告错误图像...)。我想用几个问题来展示“报告此图像”的简单形式(报告的理由......)。它应该在单击报告图像后显示。它在FF和Chrome中都很完美,但IE中存在问题。 Div应显示在鼠标点击位置。第一次显示在正确的位置,但当我关闭它并点击另一个报告图像而不重新加载页面(网站上有更多的报告图像)它再次显示在它第一次显示的同一个地方(只是在IE中) )。 这是我的代码:

$(document).ready(function(){
  $(".proofreporter").click(function(e){
    $('.popup').remove();  //used to remove previously shown elements

    $.ajaxSetup ({
    // Disable caching of AJAX responses
      cache: false
    });


    // setTimeout(function(){$('.popup').remove()},2000);

    var name = $(this).attr('id');
    function showData(data) {
        $("body").append(data);
    }
    //x = e.pageX;   first I tried this to get position but same result
    //y = e.pageY;

    var pos = $(this).offset(); 
    x=pos.left;
    y=pos.top;

    alert(x + 'x' + y);
    $.get('includes/reporter.php?reportimgdiv=' + name + '&x=' + x + '&y=' + y, showData);
  });
});

以下是 reporter.php

的代码
if(isset($_GET['reportimgdiv']))


{       //report IMAGE
  ?>
  <style type="text/css">                                                                                                                            
  .popup {          //SOLVED; change to this: #<?echo report$_GET['reportimgdiv']?>
    position: absolute;
    left: <?echo $_GET['x'];?>;
    top: <?echo $_GET['y'];?>;
    z-index: 100;
    width: 280px; 
  }
  .subtle {
    margin: 0px;
    padding: 5px;
    border: 2px solid gray;
    font-size: small;
    text-align: left;
    background-color: #EEE;
    color: #444;
  }
  </style>
  <?
  $imgid=$_GET['reportimgdiv'];
  ?>
  <div id="reportForm001" class="popup" style="margin-top: 0em; ">   //solved: change id="report<?echo $imgid?>"
  <!--
  <form name="form1" method="post" target="reportframe" action="update/pagereportframe.php" class="subtle" style="position: relative; left: 1em; top: 2px;">
  -->
  <form name="form1" method="post" target="reportframe" action="includes/reporter.php" class="subtle" style="position: relative; left: 1em; top: 2px; background-color: white" >    
    <input name="id" type="hidden" value="<?echo $imgid; ?>">
    <div style="position: absolute; right: 1em; font-size: x-small"><a href="#" onClick="jQuery('.popup').remove();">CLOSE [X]</a></div>
    <h3>What is wrong with this image? <?echo $_GET['x'];?> X <?echo $_GET['y'];?> </h3> 
    <input type="radio" name="reason" value="1"> BLAH BLAH/b>. <br>  
    <input type="radio" name="reason" value="2"> BLAH BLAH/b>. <br>  
    <br>Comment (optional):<br>
    <textarea name="comment" rows="3" style="width: 100%"></textarea><br>
    <input value="Submit" type="submit">
  </form>
  </div>
 <?
  }

1 个答案:

答案 0 :(得分:0)

解决

我现在使用ID(而不是类)来识别POPUP div。有关详细信息,请参阅 reporter.php 代码注释