2010-02-02 62 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作品)