日期:2014-05-16  浏览次数:20407 次

jquery 找不到对应的div
最近工作需要将div悬浮出来. 现在的问题是在这个div上注册的事件都没有执行.

请大家帮忙看看为什么没有找到这个div


页面是aspx的页面

<div id="drag">
    
     $("#drag").mousedown(function (e) {
        iDiffX = e.pageX - $(this).offset().left;
        iDiffY = e.pageY - $(this).offset().top;
        $(document).mousemove(function (e) {
            $("#drag").css({ "left": (e.pageX - iDiffX), "top": (e.pageY - iDiffY) });
        });
    });
    $("#drag").mouseup(function () {
        $(document).unbind("mousemove");
    });

------解决方案--------------------
代码是否放在了页面加载完成之后

$(function(){
//
})
------解决方案--------------------
设置一个别的属性看看有没有效,排除下因为选择器和id搞错的低级错误。下断点看看代码是否执行了。
------解决方案--------------------
在Chrome中调试一下。

一般放在文档加载完的事件里

$().ready(function() {

      //你的代码
});
------解决方案--------------------
代码要放在文档加载完毕之后才能获取到
------解决方案--------------------
找不到或许是因为还没有加载Div呢,等加载完后再找试试!
一般放在文档加载完的事件里

$(document).ready(function() {

       $("#drag").mousedown(function (e) {
        iDiffX = e.pageX - $(this).offset().left;
        iDiffY = e.pageY - $(this).offset().top;
        $(document).mousemove(function (e) {
            $("#drag").css({ "left": (e.pageX - iDiffX), "top": (e.pageY - iDiffY) });
        });
    });
    $("#drag").mouseup(function () {
        $(document).unbind("mousemove");
    });
});

------解决方案--------------------
应该没什么问题,如下代码是可以的
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
.box{position:absolute;width:100px;height:100px;background:#000;opacity:0.5;filter:alpha(opacity:50);}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$(function(){
 $("#drag").mousedown(function (e) {
        iDiffX = e.pageX - $(this).offset().left;
        iDiffY = e.pageY - $(this).offset().top;
        $(document).mousemove(function (e) {
  &nb