簡體   English   中英

將 jQuery 添加到動態 JS-DOM 對象

[英]Add jQuery to dynamic JS-DOM objects

我正在使用純 JavaScript 創建幾個 DOM 對象,這些對象在一切完成后都被放入頁面中。

現在我想通過使用 jQuery 添加一些不同的功能。 並在創建過程中添加。

現在看起來(很舊,沒有任何 jQuery):

var mainput = document.createElement("textarea");
mainput.setAttribute("ID", "masseinfo_" + dsatz.ID);
mainput.setAttribute("onkeyup", "checkAndSendMaAjax(" + dsatz.ID + ", '" + masseinfoup + "', '" + dsatz.Typ + "', this.value)");

使用帶有 keyup 的 jQuery 似乎失敗,因為該對象尚未出現在頁面上。

mainput.keyup(debounce(250, function (e) {
    console.log('It works!');
    checkAndSendMaAjax(" + dsatz.ID + ", '" + masseinfoup + "', '" + dsatz.Typ + "', this.value);
}));

錯誤keyup is not a function使用on沒有太大區別。

mainput.on('keyup',null,(debounce(250, function (e) {
    console.log('It works!');
    checkAndSendMaAjax(" + dsatz.ID + ", '" + masseinfoup + "', '" + dsatz.Typ + "', this.value);
})));

錯誤on is not a function

搜索了一下,我進入了那個頁面該頁面寫了一些關於 on 而不是 live 的用法:

$(".postitem").live("click", function() {...});

……現在是……

$(document).on("click", ".postitem", function() {...});

所以我試過:

$(document).on('keyup',mainput,(debounce(250, function (e) {
        console.log('It works!');
        checkAndSendMaAjax(" + dsatz.ID + ", '" + masseinfoup + "', '" + dsatz.Typ + "', this.value);
    })));

這不會產生錯誤,但根本不做任何事情。 我究竟做錯了什么?

$.on() 函數的第二個參數是一個字符串(選擇器)而不是一個 DOM 元素。 更改代碼以使用選擇器"#masseinfo_" + dsatz.IDmainput.getAttribute("id")

$(document).on('keyup', mainput.getAttribute("id"),(debounce(250, function (e) {
    console.log('It works!');
    checkAndSendMaAjax(" + dsatz.ID + ", '" + masseinfoup + "', '" + dsatz.Typ + "', this.value);
})));

jQuery 函數

暫無
暫無

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

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