2011-03-01 59 views
2

我想知道,如果有可能用css代碼清除文本框而不是使用javascript?使用Css來清除TextBox文本/值

+0

+1瞭解立即堆棧溢出並提出一個很好的問題。歡迎,reza m! :) – 2011-03-01 20:41:09

+0

謝謝,我沒有創建一個帳戶:P – 2011-03-01 21:03:30

回答

2

這是不可能的CSS,只能用JS:

事件處理函數:

addEvent(document.getElementById('IDHERE'), "focus", 
function() { 
    clearText('IDHERE'); 
}); 

事件監聽功能:

//addEvent listener 
function addEvent(obj, type, fn) { 
    if (obj.addEventListener) { 
     obj.addEventListener(type, fn, false); 
    } else { 
     if (obj.attachEvent) { 
      obj["e" + type + fn] = fn; 
      obj[type + fn] = function() { 
       obj["e" + type + fn](window.event); 
      }; 
      obj.attachEvent("on" + type, obj[type + fn]); 
     } 
    } 
} 

明文功能:

//Clear on focus function 
function clearText(id) { 
    document.getElementById(id).value = ""; 
} 

這是純粹的JS,顯示這裏沒有必要,非常快庫和X瀏覽器兼容:)

+0

我不明白爲什麼在做'attachEvent'之前的四行是必要的... – nyuszika7h 2011-03-01 20:50:05

+0

@ Nyuszika7H他們捕獲事件,因爲它發生在DOM元素上,這消除了需要內聯JS,它將「onclick」事件添加到該DOM元素,然後調用clearText函數。 – 2011-03-01 20:51:18

+0

@MylesGray如果你已經做了'addEventListener' /'attachEvent',那麼添加內聯事件處理程序是毫無意義的。根本不需要'onclick',即使IE6支持'attachEvent'。 – nyuszika7h 2011-03-01 20:52:36

2

您不能使用CSS來操縱DOM。換句話說:這是不可能的。

用CSS不能更改文檔,只能看文檔的外觀和行爲,但就是這樣。

1

這是不可能的。 CSS僅用於演示,HTML用於信息和結構,JavaScript用於DOM操作。你將不得不使用JavaScript或它的圖書館之一要做到這一點:)

0

可以做到的,但只是在一個可視化的方式,它不會真的去,但不會太

可以有很多技巧,一種可以設置文本顏色與文本框的背景相同,禁用選擇。

但是,如果你希望它完全消失,你需要使用javascript