a標簽沒有disabled屬性,那么當我們想禁用a標簽的點擊事件的時候按照下面方法設置。
下面是html代碼:
<a id="entry” class="entry">進入</a>
js代碼如下:
$(“#entry”).attr("disabled",true); $("#entry").css("pointer-events","none");
這樣就可以將a標簽設成不可點擊狀態了。不過雖然是不可點擊狀態,但a標簽任然是藍色,所以要人為的給他添加上灰色字體。
下面講講 pointer-events 屬性:
值為auto的時候:效果和沒有定義pointer-events屬性相同;鼠標不會穿透當前層。在SVG中,該值和visiblePainted的效果相同。
值為none的時候:元素不在是鼠標事件的目標,鼠標不在監聽當前層而去監聽下面的層中的元素。但是如果他的子元素設置了
pointer-events為其他值,如auto,鼠標還是會監聽這個子元素的。
總的來說,這個屬性能讓標簽disabled;某個元素添加了onclick事件,能讓onclick失效。
瀏覽器兼容性:
firefox 3.6+ chrom 2.0+ safari 4.0+支持這個css3屬性,IE6/7/8/9不支持,11支持。
實例:a標簽,不可點擊
//最后一個td的第二個a標簽,不可點擊 $(this).find("td:last a").eq('1').attr("disabled",true); $(this).find("td:last a").eq('1').css("pointer-events","none"); $(this).find("td:last a").eq('1').css("color","#ccc");
例2: a標簽,不可點擊,且提示不可點擊的原因
//最后一個td的第二個a標簽,不可點擊,且提示不可點擊的原因 $(this).find("td:last a").eq('1').attr("disabled",true); //$(this).find("td:last a").eq('1').css("pointer-events","none");//此時仍禁用的話,title是沒法在hover的時候顯示的。 $(this).find("td:last a").eq('1').attr("onclick",""); //將a標簽的onclick時間去掉即可以達到點擊沒反應的目的 $(this).find("td:last a").eq('1').attr("title","只有上傳人員可以進行'刪除'操作!"); $(this).find("td:last a").eq('1').css("color","#ccc");