javascript - 在按钮上添加/删除类时遇到问题

标签 javascript jquery

我有一个列表,每个 LI 元素都有一个按钮。 此外,当单击(点击)按钮时,添加类“on”。

这是我的代码

<ul>
<li><a href="#" class="btn">txt 1</li>
<li><a href="#" class="btn">txt 2</li>
<li><a href="#" class="btn">txt 3</li>
</ul>

<style>
.btn { background:blue }
.btn.on { background:red }
</style>

<script>
 $(document).on('vmousedown','.btn' ,function(){
        $(".btn").addClass('on');
    }).on('vmouseup', function(){
        $(".btn").removeClass('on');
    }).on("vmousecancel", function() {
        $(".btn").removeClass('on');
     });
</script>

问题是当我按下 Txt1 上的按钮时,所有按钮都添加了类“on”。

我只想添加一个我点击的类。

我该如何修复这个脚本?

最佳答案

当触发事件时,this 关键字引用触发事件的元素。因此,要访问您按下的特定按钮:

$(document).on('vmousedown','.btnPhone' ,function(){
        $(this).addClass('on');
    }).on('vmouseup', function(){
    $(this).removeClass('on');
}).on("vmousecancel", function() {
    $(this).removeClass('on');
 });

关于javascript - 在按钮上添加/删除类时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23925739/

相关文章:

javascript - 如何更改 Facebook 发送弹出窗口的位置?

jquery - 基于表单中的单选值的jquery条件验证

c# - 如何显示父DIV中的所有div

javascript - 尝试将 jquery $.when() & .done() 与 2x $.ajax 调用一起使用,但 did() 立即被调用

javascript - innerHTML 淡入

javascript - 注入(inject)时 iframe 代码不执行

javascript - PHP 和 jQuery AJAX - $_POST 始终为空

javascript - 将值设置为 firebase 数据库时未捕获的 SyntaxError : Unexpected token .

jquery - 如果 float 侧边栏比它高,我如何插入 div 包装

javascript - 在添加和删除两个类之间添加动画