2012-09-14 77 views
1

爲什麼不能正常工作?輸入框的Mootools點擊功能

應該首先點擊輸入寬度設置爲300,並在身體點擊100,

,如果有人知道元素clickout爲mootools的功能,請告知

這將是真棒是,如果你知道如何設置回原包裝盒尺寸

http://jsfiddle.net/V6bTN/10/

window.addEvent('load', function() { 
    var box = $$('#searchfeed'); 
    var isopen = box.hasClass('open'); 

    box.addEvent('click', function myfunction(event) { 

     box.addClass('open'); 
     box.morph({ 
      width: 300 
     }); 

    }); 


    if (isopen) { 
     $(document.body).addEvent('click', function(event) { 
      box.morph({ 
       width: 100 
      }); 
      box.removeClass('open'); 

     }); 
    } 



});​ 

回答

3

這裏有一個簡單的outerClick功能。

Element.Events.outerClick = { 
    base : 'click',  
    condition : function(event){ 
     event.stopPropagation(); 
     return false; 
    }, 
    onAdd : function(fn){ 
     this.getDocument().addEvent('click', fn); 
    }, 
    onRemove : function(fn){ 
     this.getDocument().removeEvent('click', fn); 
    } 
}; 

使用:

el.addEvent('outerClick', function(){ this.destroy(); }); 
+0

誰比我的朋友貝爾巴托夫別的! :) 謝謝! – Benn