Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript对象中放置jQuery$(..)。单击(函数(){?_Javascript_Jquery - Fatal编程技术网

如何在javascript对象中放置jQuery$(..)。单击(函数(){?

如何在javascript对象中放置jQuery$(..)。单击(函数(){?,javascript,jquery,Javascript,Jquery,我试图在一个javascript对象中放置一个$(..)。单击(function(){…),但我觉得我在要求一个不可能的东西 在这个对象内部可以有几个Dom元素,所以我认为jQuery扩展也被排除在外? 但是我承认,我不理解如何进行jQuery扩展,在这方面仍然有一些概念我不理解 不管怎样,下面是一个我希望做的示例,即使它不起作用: $(文档).ready(函数(){ 类bt_-Fab{ 构造函数($elem\u ID,$messageBox\u ID,message){ 此.$\u ID=$

我试图在一个javascript对象中放置一个
$(..)。单击(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
变量已经存在于该范围内。我不知道我在创建时是否是在类成员的上下文中我现在真的不知道。明白了,谢谢。