gpt4 book ai didi

javascript - 使用jquery选择器和事件调用javascript对象中的函数

转载 作者:行者123 更新时间:2023-11-28 20:32:25 26 4
gpt4 key购买 nike

好吧,我不确定我这样做是否正确,所以如果我做错了,请解释一下。

我有一个 javascript 对象,它基于 ajax 数据绘制 html。

然后我尝试使用 jquery 处理上述对象实例的 html 输出上的事件。但是我想调用一个函数并从用于绘制 html 的 javascript 对象的实例中获取一个属性。

所以我的代码看起来像这样:

function obj1 (){
this.property1 = "propvalue";


this.dosomething = function () {
// does some processing
}

this.drawhtml = function () {
// outputs html
}

}

// jquery to handle events
$(document).ready(function(){

// .edit is a class in the html outputted from the drawhtml
$('body').on('click','.edit',function () {
// call the dosomething from the object
});

});

// create instance of object could be multiple on on page
var instance1 = new obj1;

instance1.drawhtml();

谢谢

最佳答案

您可以只使用之前创建的实例:

// jquery to handle events
$(document).ready(function(){

// .edit is a class in the html outputted from the drawhtml
$('body').on('click','.edit',function () {
instance1.dosomething();
});

});

// create instance of object could be multiple on on page
var instance1 = new obj1(); // added parentesis so it's valid javascript

instance1.drawhtml();

编辑:从评论开始的附加信息:

处理这个问题的最佳方法是将事件处理程序绑定(bind)到对象本身。像这样的事情:

function obj1 (){
this.property1 = "propvalue";


this.dosomething = function () {
// does some processing
}

this.drawhtml = function () {
var elem = $("<div>my super dooper HTML</div>");
elem.on('click', this.dosomething);
}

}

关于javascript - 使用jquery选择器和事件调用javascript对象中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16093886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com