DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> click事件和mousedown、mouseup事件
click事件和mousedown、mouseup事件
編輯:JavaScript基礎知識     

  點擊select標簽元素的時候,會彈出下拉。然而當option中沒有元素時,就不希望彈出下拉(比如在某些浏覽器中,點擊select會默認出一個罩層效果,而此時沒有數據選擇的話,彈出比較不友好)。

  首先想到是利用click事件控制,發現仍然會有下拉出現...實際這個是mousedown事件控制的。

  這裡就說明下click和mousedown、mouseup。規范要求,只有在同一個元素上相繼觸發 mousedown 和 mouseup 事件,才會觸發 click 事件;如果 mousedown 或 mouseup 中的一個被取消,就不會觸發 click 事件。

  這句話也很好理解,有時候我們在浏覽網頁時,鼠標在一個按鈕或者鏈接上按下了,但是突然卻又改了主意,此時我們一般會移開鼠標,在另一個空白處松開鼠標哈哈~相信這個大家經常上網都有經驗。實際這個就利用了click事件要求在同一個元素相繼觸發mousedown 和 mouseup 事件。

  好了,來一段js代碼: 這裡利用了jquery  

<script type="text/javascript">
    var len = 0;
    $('#sel').mousedown(function(){
        if(len == 0){// 模擬一下select標簽沒數據的標志
            console.log('mousedown');
            return false;
        }
    }).mouseup(function(){
        console.log('mouseup');
    }).click(function(){
        console.log('click');
    });
</script>

點擊後發現,log的順序是:mousedown-->mouseup-->click

當在mousedown中return false後,就不會彈出下拉或者罩層了...

 

-

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved