亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

className和DOM修改事件屬性為什么不可行。

<!DOCTYPE?HTML>
<html>

<head>
????<meta?http-equiv="Content-Type"?Content="text/html;?charset=utf-8"?/>
????<title>javascript</title>
????<style?type="text/css">
????body?{
????????font-size:?12px;
????}
????
????#txt,
????.txtclass?{
????????height:?400px;
????????width:?600px;
????????border:?#333?solid?1px;
????????padding:?5px;
????}
????
????p?{
????????line-height:?18px;
????????text-indent:?2em;
????}
????</style>
</head>

<body?class="bodyclass"?onload="GiveEvent()">
????<h2?id="con">JavaScript課程</H2>
????<div?id="txt"?class="txtclass">
????????<h5>JavaScript為網頁添加動態效果并實現與用戶交互的功能。</h5>
????????<p>1.?JavaScript入門篇,讓不懂JS的你,快速了解JS。</p>
????????<p>2.?JavaScript進階篇,讓你掌握JS的基礎語法、函數、數組、事件、內置對象、BOM瀏覽器、DOM操作。</p>
????????<p>3.?學完以上兩門基礎課后,在深入學習JavaScript的變量作用域、事件、對象、運動、cookie、正則表達式、ajax等課程。</p>
????</div>
????<form>
????????<!--當點擊相應按鈕,執行相應操作,為按鈕添加相應事件-->
????????<input?type="button"?value="改變顏色"?id="btnColor"?onclick="ChangeColor('')"?/>
????????<input?type="button"?value="改變寬高"?onclick="ChangeDimension('txt')"?/>
????????<input?type="button"?value="隱藏內容"?onclick="HideObj('txt')"?/>
????????<input?type="button"?value="顯示內容"?onclick="ShowObj('txt')"?/>
????????<input?type="button"?value="取消設置"?onclick="ResetStyle('txt')"?/>
????</form>
????<script?type="text/javascript">
????var?myObj;
????//賦予事件屬性
????function?GiveEvent()?{
????????document.getElementById("btnColor").onclick?=?"ChangeColor('txt')";
????}
????//定義"改變顏色"的函數
????function?ChangeColor(strID)?{
????????myObj?=?document.getElementById(strID);
????????if?(myObj?==?null)?{
????????????alert("null");
????????????return;
????????}
????????myObj.style.color?=?"red";
????????myObj.style.backgroundColor?=?"#ccc";
????}

????//定義"改變寬高"的函數
????function?ChangeDimension(strID)?{
????????myObj?=?document.getElementById(strID);
????????if?(myObj?==?null)?return
????????myObj.style.width?=?"100px";
????????myObj.style.height?=?"100px";
????}
????//定義"隱藏內容"的函數
????function?HideObj(strID)?{
????????myObj?=?document.getElementById(strID);
????????if?(myObj?==?null)?return
????????myObj.style.display?=?"none";
????}

????//定義"顯示內容"的函數
????function?ShowObj(strID)?{
????????myObj?=?document.getElementById(strID);
????????if?(myObj?==?null)?return
????????myObj.style.display?=?"block";
????}
????//定義"取消設置"的函數
????function?ResetStyle(strID)?{
????????myObj?=?document.getElementById(strID);
????????if?(myObj?==?null)?return
????????if?(confirm("是否取消設置")?==?false)?return
????????myObj.className?=?"txtclass";
????}
????</script>
</body>

</html>

現在遇到兩個問題:
1.取消樣式,我想用className,但好像沒有實現;
2.想通過DOM來修改onclick事件,也沒有實現。

正在回答

1 回答

問答里面有相同的問題,你自己找找,我回答過的

0 回復 有任何疑惑可以回復我~
#1

來自瘋人院的我 提問者

嗯,謝謝,我看過className那個問題,已經明白了,只是修改事件這個為什么不起作用呢,希望您再指導一下,謝謝哦。
2015-08-13 回復 有任何疑惑可以回復我~
#2

伊兮塵昔 回復 來自瘋人院的我 提問者

通過DOM來改變事件document.getElementById("btnColor").onclick = "ChangeColor('txt')";這樣寫是不對的,這樣只是你給id為btnColor元素的onclick事件添加了一行字符串,如果要寫的話應該寫 document.getElementById("btnColor").onclick = function(){ ChangeColor('txt');} 因為你也說了這是事件,事件調用的一定是函數,這點很重要,不管是什么事件在賦與一個函數的時候,不管是調用還是重寫一個都是用function(){}這種方式
2015-08-13 回復 有任何疑惑可以回復我~
#3

來自瘋人院的我 提問者 回復 伊兮塵昔

啊,原來是這樣啊,哈哈。我還以為function(){...}是個語法格式,需要用實際代碼來替換呢。原來是語法的一部分,呵呵,搞笑了。感謝!
2015-08-13 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

className和DOM修改事件屬性為什么不可行。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號