<!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=gb2312" />
<title>无标题文档</title>
<script language="javascript">
function blockMouseDown(obj)//当滑块按下时候
{
    alert(obj.getAttribute("id"));
}
</script>
</head><body>
<div id="aa" onmouseup="blockMouseDown(this)">click me</div>
</body>
</html>

解决方案 »

  1.   

    <!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=gb2312" />
    <title>无标题文档</title>
    <script language="javascript">
    function blockMouseDown(obj)//当滑块按下时候
    {
    alert(obj.id)
        obj.onmouseup = function(obj) //obj参数并没有得到传递
        {
    //            alert(obj.id);
          alert(obj) //undefined
        }}
    </script>
    </head><body>
    <div id="aa" onclick="blockMouseDown(this)">click me</div>
    </body>
    </html>
      

  2.   


        obj.onmouseup = function()
        {
                alert(this.id);//对象取得不对,这里的this就是obj对象
        }
      

  3.   

    <!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=gb2312" />
    <title>无标题文档</title>
    <script language="javascript">
    function blockMouseDown(obj)//当滑块按下时候
    {
    ss=obj //参数接收!!!
        obj.onmouseup = function()
        {       alert(ss.id);
        }}
    </script>
    </head><body>
    <div id="aa" onclick="blockMouseDown(this)">click me</div>
    </body>
    </html>
      

  4.   

    关键是这一句:obj.onmouseup = function(obj) 错误。
    函数的调用中的参数,应与定义函数的参数对应。this 与blockMouseDown(obj)中的obj相一致。而与子函数中的参数没有对应关系。因此这里的obj未定义。但并不影响
    obj.onmouseup 这样的写法。“=”左边是对的,右边是错的。
    我的答案不知你是否满意?
      

  5.   

    另外,我写的第二个方法也不能直接调用onmouseup事件,你会发现第一次单击并不会起作用。这是因为这一次只触发了onclick事件,调用了函数blockMouseDown(obj),完成对onmouseup事件引用函数的交待,但不会触发该事件。不过以后各次都会起作用。
    onmouseup事件你可以在div中直接定义。
      

  6.   

    onclick事件UP才起作用,因此它定义onmouseup事件,第一次再没有up触发。刚才我没注意有“//当滑块按下时候”的要求。这样onclick应改为onmousedown ,这样就完全对了:
    <!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=gb2312" />
    <title>无标题文档</title>
    <script language="javascript">
    function blockMouseDown(obj)//当滑块按下时候
    {ss=obj
        obj.onmouseup = function()
        {       alert(ss.id);
        }}
    </script>
    </head><body>
    <div id="aa" onmousedown="blockMouseDown(this)">click me</div>
    </body>
    </html>
      

  7.   

    将 obj.onmouseup = function(obj) 中的obj删除掉OK了.
    由于这个参数的存在覆盖了你对象的同名变量.
    因此函数内部访问的是这个obj对象.
    <!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=gb2312" /> 
    <title>无标题文档</title> 
    <script language="javascript"> 
    function blockMouseDown(obj)
    //当滑块按下时候 

    obj.onmouseup = function() 

    alert(obj.id); 


    </script> 
    </head> 
    <body> 
    <div id="aa" onclick="blockMouseDown(this)">click me</div> 
    </body> 
    </html>
      

  8.   

    原题有两个错误:
    1、obj.onmouseup = function(obj) 错误,原因如我5楼所说。这也是你打提的主要问题。
    2、onclick事件引用函数中,不能再有onmouseup事件。这会使每次打开网页时,第一次单击都没有效果的。原因如我5楼所说。原因如我8楼第一句所说。
    <!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=gb2312" /> 
            <title>无标题文档</title> 
            <script language="javascript"> 
                function blockMouseDown(obj)
                //当滑块按下时候 
                { 
                    obj.onmouseup = function() 
                    { 
                        alert(obj.id); //9楼这样写更简洁--引用
                    } 
                } 
            </script> 
        </head> 
        <body> 
            <div id="aa" onmousedown="blockMouseDown(this)">click me</div> 
        </body> 
    </html>
      

  9.   

    obj.onmouseup = function()
        {
          alert(this.id);//对象取得不对,这里的this就是obj对象
        }没错,这也是this的一个特殊用法。
    this指的的是相应这个mouseup事件的对象。