欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

如何在我的腳本中獲得多個復制按鈕?

謝彥文1年前8瀏覽0評論

如何創建幾個按鈕? 我使用以下腳本: "https://www.w3schools.com/howto/tryit.asp? filename = try how _ js _ copy _ clipboard 2 & quot;

腳本:

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.tooltip {
  position: relative;
  display: inline-block;
}

.tooltip .tooltiptext {
  visibility: hidden;
  width: 140px;
  background-color: #555;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px;
  position: absolute;
  z-index: 1;
  bottom: 150%;
  left: 50%;
  margin-left: -75px;
  opacity: 0;
  transition: opacity 0.3s;
}

.tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}
</style>
</head>
<body>
<input type="text" value="Hello World" id="myInput">

這是按鈕,我想第二個單獨工作在他們下面

<div class="tooltip">
<button onclick="myFunction()" onmouseout="outFunc()">
  <span class="tooltiptext" id="myTooltip">Copy to clipboard</span>
  Copy text
  </button>
</div>

這里我想要第二個按鈕,但如果我使用下面的部分,它不工作,它總是復制第一部分。

<script>
function myFunction() {
  var copyText = document.getElementById("myInput");
  copyText.select();
  copyText.setSelectionRange(0, 99999);
  navigator.clipboard.writeText(copyText.value);
  
  var tooltip = document.getElementById("myTooltip");
  tooltip.innerHTML = "Copied: " + copyText.value;
}

function outFunc() {
  var tooltip = document.getElementById("myTooltip");
  tooltip.innerHTML = "Copy to clipboard";
}
</script>
</body>
</html>

如果我創建了幾個按鈕,最上面的一個總是被復制。我知道那沒用。 我想讓這些按鈕彼此獨立工作。我怎樣才能改變代碼使它工作 如果有人能幫我,那就太好了

我嘗試了很多,但我不知道如何編碼工作。

一個頁面上的id必須是唯一的——所以你可以用myInput2/myButton2添加一組新的input/button,或者你可以使用我在這里使用的替代方法。

(注意:與其有一個單獨的& quot工具提示& quot我更傾向于更改按鈕的文本,然后再改回來。這使得標記變得更加容易和容易理解。我已經為這個例子做了決定。它不會影響第2點中提出的按鈕/輸入如何相互關聯的核心問題。)

我已經刪除了內聯JS。現在,可以使用querySelectorAll選擇按鈕,并使用forEach將偵聽器添加到按鈕中。

當一個按鈕被點擊時,它找到它最近的previousElementSibling,這將是它的兄弟輸入元素。

單擊按鈕時,文本被分配到剪貼板。按鈕更改文本以確認這一點,然后在兩秒鐘后恢復到其原始文本內容。

const buttons = document.querySelectorAll('.copy');

buttons.forEach(button => {
  button.addEventListener('click', handleClick);
});

function handleClick() {

  const input = this.previousElementSibling;
  
  input.select();
  input.setSelectionRange(0, 99999);
  
  navigator.clipboard.writeText(input.value);

  this.textContent = 'Text copied';
  
  setTimeout(() => this.textContent = 'Copy text to clipboard', 2000);

}

.copy { width: 10rem; }

<section class="field">
  <input type="text" value="Hello World">
  <button class="copy" aria-live="polite">
    Copy text to clipboard
  </button>
</section>
<section class="field">
  <input type="text" value="Hello Planet Earth">
  <button class="copy" aria-live="polite">
    Copy text to clipboard
  </button>
</section>