亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在輸入 oninput 中調用 javascript 方法作為回調

在輸入 oninput 中調用 javascript 方法作為回調

jeck貓 2022-11-03 14:54:24
我正在編寫一個網頁,當用戶輸入給定方程的除一個輸入值之外的所有值時,它將求解一個方程。我創建了一個 javascript 類,其中包含從 html 輸入字段中讀取數值然后解決缺失值的方法。我可以使用獨立函數作為回調,例如:<input oninput="read_t()">但是當我嘗試調用定義為類方法的相同函數時,例如:<input oninput="equation.read_t()">我收到以下錯誤:Uncaught TypeError: equation.read_t is not a function    at HTMLInputElement.oninput我創建了一個名為“方程式”的類的實例。所以我不確定我是否在輸入標記中錯誤地調用了該方法,或者在 html/javascript 中根本不允許這種事情。我不確定我是否需要將回調作為類的一部分包含在內,或者只是使其成為一個獨立的函數:這是有效的。在類中包含回調似乎更簡潔。我想知道實例方法是否可以是回調,或者我是否犯了其他錯誤。任何幫助表示贊賞!更新:我添加了一個精簡版的頁面以供檢查。我不確定在過去幾個小時的工作中我做了什么更改,但是現在在輸入字段中輸入文本時會執行實例方法。但是,我發現輸入文本沒有wien按預期分配給實例的屬性。這讓我困惑了一段時間,因為賦值應該是一個非?;镜牟僮?。然后我無意中發現and和方法this是指輸入元素, , and ,而不是類實例。我想我不明白如何read_tread_wcalculatewien_twien_wwien_solvewienthis在這種情況下表現。我原以為這些實例方法會引用實例本身——因為它們被定義為 ClassWien 中的方法——而不是它們作為 EventListeners 添加到的 DOM 元素。
查看完整描述

3 回答

?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

我嘗試復制您的問題,似乎使用 static 將使您能夠調用類中的函數,而不使用它會導致您遇到錯誤。


html


<input type="text" oninput="equation.read_t()"/>

Javascript


class equation {

    constructor() {


    }

    static read_t() {

        console.log("Hello");

    }

}

靜態方法允許您調用類本身的方法。


查看完整回答
反對 回復 2022-11-03
?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

也許您需要使用 objectName.functionName() 而不是 className.functionName() 來調用它


例如


下面的格式給了我同樣的錯誤方程。讀取不是一個函數


<input type="text" id="myInput" oninput="equation.read()">

但以下格式工作正常


<input type="text" id="myInput" oninput="equationObject.read()">

這是我在腳本標簽中寫的代碼


class equation{

    read(){

        var x = document.getElementById("myInput").value;

        console.log(x);

    }


}


equationObject = new equation();


查看完整回答
反對 回復 2022-11-03
?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

使用方法綁定的事件處理通常比oninput.

請參閱 Mozilla 文檔:https ://developer.mozilla.org/en-US/docs/Web/API/EventListener

這是一個快速的總結:

  1. 設置 id 屬性。

  2. 初始化方程類。

  3. 將方法綁定到輸入事件。


查看完整回答
反對 回復 2022-11-03
  • 3 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號