<input type="text" value="" name="to" style="border: medium none; outline: medium none;
                                    width: 100%;" tabindex="1" onclick="javascript:document.getElementById('Layermain').style.display=''" onblur="javascript:document.getElementById('Layermain').style.display='none';">
                                    
                                <div style="background: none repeat scroll 0% 0% rgb(255, 255, 255); z-index: 1100;
                                    position: absolute; top: 85px;  width: auto; left: 63px; display:none "
                                    class="" id="Layermain">
                                    <div style="margin: 0px;">
                                        <div class="menu_base">
                                            <div style="padding: 0pt;" class="menu_bd bd">
                                                <div style="white-space: nowrap; width: auto; line-height: 21px; display: none;">
                                                </div>
                                                <div style="overflow-y: auto; height: 200px; line-height: 21px; width: auto;" >
                                                    <div  class="menu_item" onclick="getMail('[email protected]')" onmousemove="this.className='menu_item_high'" onmouseout="this.className='menu_item'" id="Layer1">
                                                        "寂寞无情天1" &lt;33<b>12</b>[email protected]&gt;</div>
Layermain是一个弹出层
问题是:
当页面上已经有弹出层出现时,我点击【寂寞无情天1"】这一项  执行了getMail方法,
此时js执行顺序是(先执行了input的onblur事件,getmail方法其实就没有执行)我想要的顺序是 先执行 getMail方法后执行 onblur事件,

解决方案 »

  1.   

    当你光标在input的时候,光标离开立即就执行 onblur ,然后你点击其他东西才能发生click事件,不可能先click事件,然后才是onblur 
      

  2.   

    楼主讲的是光标离开a标签,同时点击b标签,a的blur事件和b的click事件冲突是吧
      

  3.   

    在onblur里判断如果div显示的话就不执行
      

  4.   


    是 事实是这样执行的:先执行了blur后执行的click   可是我的blur里面有隐藏b的方法
      我想要的结果是 先执行click 后执行click
      

  5.   


    就算判断出来了,我也需要隐藏这个 弹出div啊
      

  6.   


    将onblur换成onMouseDown鼠标放上去就执行
      

  7.   

    使用事件绑定和事件解除,貌似就没有问题了。最简单的方式,做一个标记变量,如果你获得焦点了,就让那个变量更换个数值,成为非默认数值,失去焦点,再让变量变回去。sendmail的时候,先检查这个变量是不是默认数值,不久OK?
      

  8.   

    此时js执行顺序是(先执行了input的onblur事件,getmail方法其实就没有执行)
    那楼主这样再onblur方法中调用click方法就可以了
      

  9.   


    我要实现的功能是:
    input中输入关键字,后下面有弹出层  
    onclick 就是点击层上的数据,
    onblur就是离开input执行的事件
    现在问题是,无法选中层上的数据
      

  10.   

    用body来接受onclick事件 在这里判断是否取消显示弹出框
     弹出框本身可以获取onclick事件 不冒泡
      

  11.   

    楼主思路不对,不用onblur事件就好了,都用onclick事件,14楼的方法可以借用
      

  12.   

    我问下,冒泡 事件 是按照 html dom形式有上倒下走得吗?