Javascript 检查当前单击的元素是否等于特定div';id';在JQuery中
我已经在网络上研究并测试了一个解决方案很长一段时间了,但一直没有能够使这个工作。所以我决定在这里创建一个帖子,尽管它可能技术水平很低,我会被否决。我已经付出了很多努力,希望有人能帮助我 目前,我的代码使用JQuery中的Javascript 检查当前单击的元素是否等于特定div';id';在JQuery中,javascript,jquery,this,Javascript,Jquery,This,我已经在网络上研究并测试了一个解决方案很长一段时间了,但一直没有能够使这个工作。所以我决定在这里创建一个帖子,尽管它可能技术水平很低,我会被否决。我已经付出了很多努力,希望有人能帮助我 目前,我的代码使用JQuery中的.click()函数,我的目标是在按钮上使用它,这样当我单击该按钮时,它会检查单击的按钮的id是否与我在.js文件中设置的变量匹配。换句话说,检查我点击的东西的id是否等于我的“目标” 这是代码中出现问题的部分: var target = '#vig_but_inc'; $(t
.click()
函数,我的目标是在按钮上使用它,这样当我单击该按钮时,它会检查单击的按钮的id
是否与我在.js
文件中设置的变量匹配。换句话说,检查我点击的东西的id
是否等于我的“目标”
这是代码中出现问题的部分:
var target = '#vig_but_inc';
$(this).click(function() {
if(this.id == target) {
vigor.incStat(); // increase stats once
console.log("hi"); // test if code fires
$('#vig_res').html(vigor.current);
}
});
请注意,我已检查代码是否在不匹配id
、不匹配if
-语句的情况下工作-在这种情况下,如果我单击特定预设按钮的id
,我会设法增加#vig_res
的值,这是我的目标
但是,如前所述,如果涉及到if
,我将尝试将所单击的内容与我的目标
匹配,这是我希望它匹配的id
名称。我正在使用这个
来检查我的点击,它在其他领域也有效,但在这种情况下似乎不起作用
我已创建了变量目标全局范围,如注释中所述:。它仍然不起作用
我知道并且已经测试了$(this)。单击(..
),它将触发我单击的div
中的代码。因此我相信问题在于之后,可能在this.id
中,但我也使用了其他地方建议的.is()
,但它也不会以这种方式工作
我希望有人能给我一些关于如何解决这个问题的见解,谢谢。在调用click函数之前使用所选的id和类,如
$('.class').click(function() {});
答案稍微复杂一点,在触发单击时调用的匿名函数中,
这个
不是单击的元素,而是一个jQuery对象。您应该接受作为第一个参数的事件
,并使用事件.目标
。另外,目标
不应该包含
,因为他.id
只返回名称
因此,您的代码应该如下所示:
var target = 'vig_but_inc';
$(this).click(function(event) {
console.log(event.target);
if(event.target.id == target) {
vigor.incStat(); // increase stats once
console.log("hi"); // test if code fires
$('#vig_res').html(vigor.current);
}
});
工作提琴:通过检查
这个.id
给你这个在$(这个)中指的是什么来调试。点击()
?学会使用控制台
@Satpal我相信我学会了这会让当前点击的事件触发。点击()
函数在这方面,我已经尝试过,只要我不尝试匹配这个.id
,它就可以工作。我的目标是检查我点击的东西是否是我预设的id
,如果是,在函数中激发代码。我不确定将按钮点击抽象到它们的id是否值得。为什么不定义一个这样的函数呢单击按钮时更新活力,即$('#vig_but_inc')。单击(更新活力的函数,不带“if”,用于检查单击按钮的id);以及将事件处理程序、文档分配给的$(this)是多少?谢谢,但我看不出小提琴是如何“工作的”,如果我单击文本(div),则不会发生任何事情)。我修改了一些代码,这样当它检测到点击并通过if语句进行测试时,就会出现一些东西,但什么也没有出现。你能帮我重新检查一下,并举一个例子,在这个例子中,单击传递if
语句,输出中有一些变化吗?好的,很好,它正在工作!我看到您在if
语句event.target.id
-为什么是event.target而不是。这是?换句话说,target是我们在顶部创建的一个变量,为什么我们要将这一事件与它本身进行比较?如何使用此函数匹配另一个目标,是否必须将其更改为event.target2.id==target2
?event
是一个事件对象。您可以在此处阅读更多信息:<代码>事件。目标
不是指您声明的目标<代码>事件。目标
是事件
对象上的一个键。如果你想与target2
进行比较,你应该简单地event.target.id==target2
@Andrici_Cezar好的,我现在解决了我的困惑,基本上你写了“event.target.id
”,我感到困惑,认为那行中的target
与我们的var target='vig_但_inc'是同一个目标代码>!!但我认为这只是事件
功能的一部分。谢谢你的帮助,非常感谢。@Darkphoton没问题。哇!真正地