2016-03-05 63 views
3

我有這樣的代碼下面給出:如何隱藏除Internet Explorer之外的所有瀏覽器上的單選按鈕?

<label> 
    <input type="hidden" name="styless" value="9"> 
    <input type="radio" style="display:none" >Qwerty 
</label> 

這是除了IE的所有瀏覽器工作正常。如何在IE瀏覽器中顯示單選按鈕,並使其保持隱藏在其他瀏覽器上?

IE中發生的事情是當我點擊「Qwerty」時,點擊事件未被觸發。 所以我想在IE中刪除display:none

if (!$.browser.msie){ 
// do something 
} 
+0

您不能嗅探瀏覽器類型(可靠地),IE瀏覽器條件註釋除外,IE註釋僅適用於IE9及以下版本。 – symlink

+2

@silviagreen爲什麼你認爲他使用jQuery? –

回答

0

您可以使用$ .browser屬性,你可以用它jQuery Migrate插件做你不應該嘗試使頁面行爲特定於瀏覽器。我認爲一個更好的解決方案是使"Qwerty"文本點擊在所有瀏覽器上以相同的方式運行。

您可以使用JavaScript來完成 - 將文本包裝在<span>元素中,併爲其指定一個onclick事件來檢查您的單選按鈕。要可靠地找到單選按鈕,應該給它一個id屬性。然後在點擊事件上致電preventDefault,以避免任何不想要的行爲,否則可能發生或可能不會發生

你最終的HTML應該是這樣的:

<label> 
    <input type="hidden" name="styless" value="9"> 
    <input type="radio" style="display:none" id="qwerty-radio-box"> 
    <span onclick="document.getElementById('qwerty-radio-box').checked = true; event.preventDefault();">Qwerty</span> 
</label> 

在你的問題,你沒有提到你的項目是否已經有一個JavaScript代碼庫。如果是這樣,您應該將JavaScript代碼移到那裏,而不是保留在這個onclick事件屬性中。如果沒有,並且這是唯一的用法,我會說沒問題,把它留在這裏。

1

一般: - (在早期版本中你可以使用它的jQuery> = 1.9),然後做這樣的事情

+0

謝謝你們所有的答案。 –

相關問題