Javascript Jquery只获取事件的类目标

Javascript Jquery只获取事件的类目标,javascript,jquery,html,Javascript,Jquery,Html,我想让全班发出警报 问题是的所有类都将在 trigger('click'),我只想使用这个类 下面是类main Html JSFIDLE 事件处理程序绑定到元素而不是它们的classNames,因此e.target.className返回元素的所有类名 由于您使用的是trigger方法,因此可以将自定义数据传递给处理程序: $(document).on('click','.main, .mainBack', function(e, data) { if (data === 'main'

我想让全班发出警报

问题是
的所有类都将在

trigger('click')
,我只想使用这个类

下面是类
main

Html

JSFIDLE


事件处理程序绑定到元素而不是它们的
className
s,因此
e.target.className
返回元素的所有类名

由于您使用的是
trigger
方法,因此可以将自定义数据传递给处理程序:

$(document).on('click','.main, .mainBack', function(e, data) {
     if (data === 'main') {
       // ...
     }
});

$('.main').trigger('click', ['main']);
当手动触发事件时,使用上述代码段,处理程序的第二个参数是
main

另一个选项是使用jQuery
.hasClass()
方法检查某个类名的存在性

if ( $(this).hasClass('main') ) {
   // ...
}

事件处理程序绑定到元素而不是它们的
className
s,因此
e.target.className
返回元素的所有类名

由于您使用的是
trigger
方法,因此可以将自定义数据传递给处理程序:

$(document).on('click','.main, .mainBack', function(e, data) {
     if (data === 'main') {
       // ...
     }
});

$('.main').trigger('click', ['main']);
当手动触发事件时,使用上述代码段,处理程序的第二个参数是
main

另一个选项是使用jQuery
.hasClass()
方法检查某个类名的存在性

if ( $(this).hasClass('main') ) {
   // ...
}

我个人认为你应该给点击目标添加属性:

<i class="main mainBack another another2 another3" data-action="DoSomething"></i>
<i class="main mainBack another another2 another3" data-action="DoSomethingElse"></i>

我个人认为你应该给点击目标添加属性:

<i class="main mainBack another another2 another3" data-action="DoSomething"></i>
<i class="main mainBack another another2 another3" data-action="DoSomethingElse"></i>

你想用类名做什么?你不能用相反的方法来测试点击的元素是否有你关心的类吗<代码>如果($(this).hasClass(“main”){/*执行某些操作*/}。调用触发器方法时应该将其传递给事件数据,请查看文档,但听起来像是XY问题,为什么需要此行为?不,我需要知道为需要不同操作的代码的其他部分触发的确切类(如果是这个类,那么或者如果是这个类…)那么这是一个XY问题,这不是解决这个问题的方法,你应该使用带名称空间的事件来代替它,你想用类名做什么?你不能用相反的方法来处理它并测试单击的元素是否有你关心的类吗?
if($(this).hasClass(“main”){/*做点什么*/}
。调用触发器方法时,您应该将其传递给事件数据,查看文档,但听起来像是XY问题,为什么需要此行为?不,我需要知道为需要不同操作的代码的某些其他部分触发的确切类(如果是这个类,那么或者如果是这个类…)所以这是一个XY问题,这不是解决这个问题的方法,你应该使用名称空间的事件来代替。我想一个元素可以触发不止一个动作,然后删除
else
…并添加另一个动作。类用于设置样式和目标,而不是确定动作状态。Ya类不应该带来数据,但这与OP无关问题我猜一个元素可以触发不止一个动作,然后删除
else
…并添加另一个动作。类用于设置样式和目标,而不是确定动作状态。Ya类不应该带来数据,但这与OP问题无关。类不是我问题的解决方案,html有类。我想知道使用触发器选择了哪个类(代码中的许多其他类使用其他类作为mainBack或其他2…)。但是传递的数据是神奇的。hasClass不是我问题的解决方案,html具有该类。我想知道使用触发器选择了哪个类(代码中的许多其他类使用其他类作为mainBack或其他2…).然而,传递的数据是神奇的。