2010-02-02 66 views
2

問題:我濫用表格作爲按鈕列表,甚至在每個單元格上使用onclick。
問題是,按鈕是縮放按鈕,並且反覆點擊太快(雙擊)時,選擇按鈕(=表格單元格)文本(即使您不想),而且看起來很奇怪。
我可以關閉嗎?我可以讓表格中的文字不可選嗎?html表格中的非可選文本?

回答

0

對不起,不再相關。

我沿着css的方式搜索來做到這一點。 但我發現最好的是
http://www.tek-tips.com/viewthread.cfm?qid=1184318&page=1

原來,我真的需要添加一個JS事件處理程序:

onselectstart="javascript: return(false);" 

上述作品IE和Chrome。但是,你仍然需要它FireCrap翻譯:

onselectstart="return false;" 
onmousedown="if (typeof event.preventDefault != 'undefined') {event.preventDefault();}" 
+7

不要使用'javascript:'啓動事件處理程序,您將其與'href'屬性中的用法相混淆。這將下面的語句分配給IE中名爲「javascript」的標籤,本質上與「onselectstart =」blahblahblah:return(false);「'相同。這可能會在其他瀏覽器中引發錯誤。 – 2010-02-02 15:38:06

4

是的,如果你讓它成爲一個合適的按鈕。您可以風格,就像你可以樣式表單元中的按鈕:(!悔改,罪人)

.button { 
background-color:blue; 
color:red; 
border:4px solid green; 
} 

<input type="button" class="button" value="MyButton" /> 

你仍然可以把它放在一個表,如果你想,但至少讓一個按鈕一個按鈕。 ;)

如果你想讓它自動填充表格單元格的寬度,設置按鈕display:block;

5

要回答你原來的問題......爲了防止用戶能夠在網頁上標明的文字,應用下面的CSS規則:

-moz-user-select:none; -khtml-user-select:none; user-select:none;

+5

在IE中不起作用。 – 2010-02-02 21:29:32

0

當觸發onclick事件時,您可以在TD上設置焦點。
下面是一個DIV的例子,但同樣適用於TD。

<div onclick="clicked(this);">clicks:</div> 
<script> 
function clicked(div){ 
    div.innerHTML += '*'; 
    div.focus(); 
} 
</script> 
1

加入

style="user-select: none; -moz-user-select: none; -khtml-user-select: none;" onselectstart="javascript:return false;" 

你的表應該做的伎倆

<table id="TableUnselectableExample" style="width: 100%; user-select: none; -moz-user-select: none; -khtml-user-select: none;" onselectstart="javascript:return false;"> 

所以它是一個在這裏提供的解決方案的組合(在IE和FF作品)