如何在javascript对象中放置jQuery$(..)。单击(函数(){?
我试图在一个javascript对象中放置一个如何在javascript对象中放置jQuery$(..)。单击(函数(){?,javascript,jquery,Javascript,Jquery,我试图在一个javascript对象中放置一个$(..)。单击(function(){…),但我觉得我在要求一个不可能的东西 在这个对象内部可以有几个Dom元素,所以我认为jQuery扩展也被排除在外? 但是我承认,我不理解如何进行jQuery扩展,在这方面仍然有一些概念我不理解 不管怎样,下面是一个我希望做的示例,即使它不起作用: $(文档).ready(函数(){ 类bt_-Fab{ 构造函数($elem\u ID,$messageBox\u ID,message){ 此.$\u ID=$
$(..)。单击(function(){…
),但我觉得我在要求一个不可能的东西
在这个对象内部可以有几个Dom元素,所以我认为jQuery扩展也被排除在外?
但是我承认,我不理解如何进行jQuery扩展,在这方面仍然有一些概念我不理解
不管怎样,下面是一个我希望做的示例,即使它不起作用:
$(文档).ready(函数(){
类bt_-Fab{
构造函数($elem\u ID,$messageBox\u ID,message){
此.$\u ID=$elem\u ID;
这个$\u ID\u MsgBox=$messageBox\u ID;
这个。_msg=消息;
此.$\u ID.单击(函数(){
this.$\u ID\u MsgBox.text(this.\u msg);//不起任何作用。。。
});
}
};
变量
myOneButton=new bt_Fab($('btn_one'),$('messageBox'),'message from button one!'),
myTwoButton=new bt_Fab($('btn_two'),$('messageBox'),'message from button two!');
});
按钮一
按钮二
…
在jQuery中,在诸如$之类的事件处理程序中,click()
,this关键字将被对发送方对象的引用覆盖,在本例中为$\ID
。在this.$\ID.单击,this
实际上是类的实例。在click处理程序中,即函数(){this.msgBox…}
,此
引用已单击的元素
当我在javascript中创建一个类时,我通常创建一个名为my
的类变量,我在类的构造函数中将该变量设置为this
。在使用jQuery时,不要使用this
变量,以免混淆
有时重写这个实际上是件好事,但当你定义一个类时,它就太可怕了。试试这个。$\u ID.addEventListener('click',event=>{/*添加你的代码*/});
相反。如果$\u ID
只是现有元素的ID。您需要通过document.getElementById
获取元素。顺便说一句,您没有正确地将HTML元素作为目标:$('btn\u one')
应该是$('btn\u one'))
等等。这只是一个例子。我在Javascript对象中使用了一个'my=This;'。如果不调用“This”,您将如何调用变量“my”?现在我再看一遍,我真的不知道tbh。我想我在这里的意思是,如果我可以在jQuery事件处理范围之外创建一个名为my
的变量。这意味着my
变量已经存在于该范围内。我不知道我在创建时是否是在类成员的上下文中我现在真的不知道。明白了,谢谢。