gpt4 book ai didi

javascript - 坚持使用 addEventListener

转载 作者:行者123 更新时间:2023-11-28 08:21:34 25 4
gpt4 key购买 nike

我正在研究 javascript 和 dom。我想要对下面的代码执行的操作是,当我附加 tr 并单击第二个 td(姓氏)时,第二个 td 值将更改为粗体。然后当我再次单击第二个 td 值时,它将恢复正常。我已经将其更改为粗体,但我无法使其恢复正常。我知道如果我添加一个带有调用 detHandler 的 onclick 方法的按钮。但我不允许为此制作按钮。我需要再次单击该名称才能恢复正常。你们有什么想法吗?

<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>'

最佳答案

只需在处理程序中切换它即可

function applyStyle (){
var add = document.getElementById('p1');
var curr = add.style.fontWeight;

add.style.fontWeight = curr != 'bold' ? 'bold' : 'inherit';
}

FIDDLE

关于javascript - 坚持使用 addEventListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22895319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com