。下面的代碼我想要做的是當我追加一個tr並點擊第二個td(姓)時,第二個td值將被改變爲粗體。那麼當我再次點擊第二個td值時,它會恢復正常。我已經完成了改變它的大膽,但我不能讓它恢復正常。我知道如果我用onclick方法添加一個按鈕調用detHandler。但我不能爲此做一個按鈕。我需要再次點擊該名稱才能恢復正常。你們有什麼想法嗎?我在javascript和dom上使用addEventListener
<script type="text/javascript">
function appendUser()
{
var fname=prompt("Please enter your First Name");
var lname=prompt("Please enter your Last Name");
var email=prompt("Please enter your Email Address");
var table=document.getElementById("appendable");
var tr=document.createElement("tr");
var td1=document.createElement("td");
var td2=document.createElement("td");
td2.id="p1";
var td3=document.createElement("td");
td1.innerHTML = fname;
td2.innerHTML = lname;
td3.innerHTML = email;
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tr.style.color="green";
table.appendChild(tr);
addHandler();
}
function addHandler()
{
var addH = document.getElementById('p1');
if (addH.addEventListener)
{
addH.addEventListener('click', applyStyle, false);
}
else if (addH.attachEvent)
{
addH.attachEvent('onclick', applyStyle);
}
}
function detHandler()
{
alert("aa");
var detH = document.getElementById('p1');
if (detH.removeEventListener)
{
detH.removeEventListener('click', applyStyle, false);
detH.style.color="blue";
//detH.style.fontWeight="normal";
}
else if (detH.detachEvent)
{
detH.detachEvent('onclick', applyStyle);
}
}
function applyStyle()
{
var add = document.getElementById('p1');
add.style.fontWeight="bold";
}
</script>
</head>
<body>
<table id="appendable" width='50%' border='1'><tr><th>First Name</th><th>Last Name</th>
<th>Email Address</th></tr>
</tr></table>
<p><button onclick="appendUser()">Append New Row</button></p>
</body>
</html>'
它檢查元素 – adeneo
技術上上存在的財產,它評估物業的價值無論是truthy或falsy。用'in'或'hasOwnProperty'來檢查屬性是否存在。 – Sampson
有趣...我總是這樣做:var ev = $ ._ data(element,'events'); if(ev && ev.click)alert('click bound'); – pj013