<input onclick="set1()" onfocus="set2()">
当没有获取焦点时候,单击它就执行set2(),不执行set1()
当获取焦在文本框的时候,再单击就执行set();

解决方案 »

  1.   

    当没有获取焦点时候,单击它时,会先触发 onfocus 事件,然后才是 onclick!lz 对事件执行顺序理解有问题,你的想法无法实现!
      

  2.   

    是这样的。
    我要实现的是。ajax
    文本框获取焦点的时候,读取所有的城市,并且放入层,显示层。
    然后再单击,层再隐藏。
      

  3.   

    我在IE8下测试情况是这样的
    没有焦点的时候就执行了onfocus事件,有焦点的时候先执行了onclick后执行了onfocus。
      

  4.   

    你的意思是说用onfocus来发送客户端请求,读取所有的城市。用onclick来显示隐藏这个显示城市的这个层。是这个意思吧?
      

  5.   


    <script language="javascript">
        function textClicked(o) {
            if (document.getElementById('hidden').value == 'in') {
                o.value += '_';
            }
        }
    </script><input type="text" onmousedown="textClicked(this);" onfocusin="document.getElementById('hidden').value='in';"
        onfocusout="document.getElementById('hidden').value='out';" />
    <input type="hidden" id="hidden" />
      

  6.   

    ok 解决了
    <div style="display:none">ssss</div>
    <input type="text" onfocus="set2(this)"> 
    <script language="javascript">
    var clicks
    function set2(h)
    {
     clicks=false
     h.onclick=function(){
       if(click)
       {
          .....
       }
       else
       {
          clicks=true;
        } }}