0

我有这段代码,它有助于从列表中选择值并将它们传递给 textarea 但是,我不想复制以防意外按下相同的列表值。

这是我得到的:

window.onload = btnsInit;
function btnsInit()
{
  var i, a = document.getElementById('btns').getElementsByTagName('a');
  for (i = 0; i < a.length; ++i) {
    a[i].onclick = btnClick;
  }
}
function btnClick(e)
{
  document.getElementById('ta').value += '' + this.firstChild.nodeValue + '\n';
  xPreventDefault(e);
  trim();
  return false;
}
function xPreventDefault(e)
{
  if (e && e.preventDefault) e.preventDefault();
  else if (window.event) window.event.returnValue = false;
}

有人知道吗?

谢谢

4

1 回答 1

2

您是否尝试过任何检查?

function btnClick(e)
{     
  if ( (document.getElementById('ta').value).indexOf(this.firstChild.nodeValue) ) < 0
      document.getElementById('ta').value += '' + this.firstChild.nodeValue + '\n';
  xPreventDefault(e);
  trim();
  return false;
} // haven't tested;

// 用于调试目的

function btnClick(e)
{     
  console.log((document.getElementById('ta').value).indexOf(this.firstChild.nodeValue));
  console.log("ta =", document.getElementById('ta').value);
  console.log("value =", this.firstChild.nodeValue);
  if ( (document.getElementById('ta').value).indexOf(this.firstChild.nodeValue) ) < 0
      document.getElementById('ta').value += '' + this.firstChild.nodeValue + '\n';
  xPreventDefault(e);
  trim();
  console.log("#end ta =", document.getElementById('ta').value);
  return false;
} // haven't tested;
于 2012-08-01T15:30:30.847 回答