如何捕获所有这些变量的事件?

时间:2018-04-26 15:52:43

标签: javascript jquery html

所以这是我的代码:

let btnOne = $('.btn-one')
let btnTwo = $('.btn-twoo')
let btnThree = $('.btn-three')

我想在点击any这些按钮时进行一些操作。我怎么能这样做?

我试过这个

$(btnOne, btnTwo, btnThree).click(function (e) {
  // Some action
})

但它没有用。

我怎样才能做到这一点?

感谢。

PS。我只想用变量实现这一点。

3 个答案:

答案 0 :(得分:3)

由于唯一的选择是使用变量,您可以将它们组合成一个数组并使用.each来分配事件处理程序:

$([a,b,c]).each(function() { $(this).click(....

直接使用带有.click的数组

var a = $(".a")
var b = $(".b")
var c = $(".c")
$([a,b,c]).each(function() { $(this).click(function() { alert($(this).text()); }) });
.a,.b,.c { border: 1px solid #ccc; width: 100px; height: 1.25em; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='a'>a</div>
<div class='b'>b</div>
<div class='c'>c</div>

或者你可以使用.add来组合jquery集合(其中每个集合可能只包含一个元素,它仍然是一个集合),例如:

a.add(b).add(c).click(function() { ...

使用链接添加每个附加变量

答案 1 :(得分:0)

使用变量并通过类获取所有变量:

<button id="btnOne" class="testButton">
One
</button>

<button id="btnTwo" class="testButton">
Two
</button>

<button id="btnThree" class="testButton">
Three
</button>

脚本很简单:

let btnElement = $('.testButton');

$(btnElement).click(function (e) {
  alert('Button Clicked');
})

使用JSFiddle:https://jsfiddle.net/e0Lj9b7t/

答案 2 :(得分:0)

你可以在这里做的是你可以为每个按钮使用公共类,然后你可以检测按下了哪个按钮。查看以下HTML和jQuery。

$(".btn-one").click(function(e) {
  var button_number = $(this).html();
  alert(button_number + " pressed");
})
<button class="btn-one">btn-one </button>
<button class="btn-one"> btn-two </button>
<button class="btn-one"> btn-three</button>

我们在点击功能中使用的

this ”将检测单击了哪个按钮。 -Thanks