簡體   English   中英

通過函數傳遞HTML元素

[英]Passing HTML Element Through A Function

我如何通過函數傳遞HTML元素,因為我不想使用ID,所以我想動態創建函數。

這里的焦點沒有意義,但是在我的代碼中卻有意義:

 function MyFunction(passedObject) { alert(passedObject.value); passedObject.focus() } 
 <input onclick="MyFunction(this)"> 

我不想使用這樣的使用ID的解決方案:

 function MyFunction() { alert(document.getElementById("TheInput").value); document.getElementById("TheInput").focus() } 
 <input id="TheInput" onclick="MyFunction()"> 

我想你需要這樣的東西

 function MyFunction(element) { alert(element.value); element.focus() } 
 <input onclick="MyFunction(this)" value="Hello World"> 

您可以使用以下方式在html代中動態定義函數:

<input onclick="function(element) { alert(element.value); element.focus() }(this)" value="Hello World">

一個關鍵部分是函數在函數聲明之后傳遞此函數。 除非單擊該按鈕,否則該功能將不存在。 如果在單擊按鈕之前存在,它將覆蓋先前的聲明。 如果您只想執行函數並且不需要在onclick之外與之交互,則還可以刪除函數名稱並將其作為匿名函數執行。

我認為這是解決方案:無論如何,您都必須使用ID選擇元素,但只能選擇一次。

var input = document.getElementById("TheInput");

function MyFunction(passedObject) {
  alert(passedObject.value);
  passedObject.focus()
}

var inputElem = document.getElementById("TheInput");
MyFunction(inputElem)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM