jquery - 在 iPhone 中使用 Jquery 更改背景颜色的延迟

标签 jquery

我有以下代码,可以在单击链接时更改链接的背景颜色。

function showSelectEffect(obj) {
        $(obj).css("background-color", "#d7d7d7");
            }

该方法调用链接的onclick,如下

<a onclick="showSelectEffect(this);" href="test.html">sample text</a>

问题是突出显示会在一秒钟的延迟后发生,并且在单击时不会立即发生。我尝试在 onmousedown 事件上调用 showSelectEffect 函数,但它仍然相同。请让我知道如何提高性能。

最佳答案

<a class="showSelectEffect" href="test.html">sample text1</a>
<a class="showSelectEffect" href="test.html">sample text2</a>
<a class="showSelectEffect" href="test.html">sample text3</a>
<a class="showSelectEffect" href="test.html">sample text4</a>​


$('.showSelectEffect').on('click',function(){
  event.preventDefault();
  $(this).css("background-color", "#d7d7d7");
});​

Try the demo here

您可以尝试使用 css 而不是使用 jquery,这会快一点。

a:active {
   background-color:#d7d7d7; //this line should go in your stylesheet
}

尽量将 JS 代码和 HTML 分开。这是一个很好的做法。

另一个选项是在样式表中定义 css 类,如下所示。

a.showSelectEffectColor {
   background-color:#d7d7d7; //this line should go in your stylesheet
}

 $('.showSelectEffect').on('click',function(){
      event.preventDefault();
      $(this).addClass('showSelectEffectColor');
    });​

关于jquery - 在 iPhone 中使用 Jquery 更改背景颜色的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12890941/

相关文章:

jquery - 在每个 onclick 函数之前调用一个通用函数

javascript - 包括外部 javascript 文件

javascript - 如何根据内容删除表格列?

javascript - 使用jquery自动扩展文本区域

ajax - jQuery扩展ajax参数

javascript - jQuery Ajax 错误对象未定义

android - 如何在cloudant查询中对日期进行排序

javascript - 为什么单个 document.write 语句同时加载 jquery 缩小文件和完整的 jquery 文件?

javascript - 我可以将 javascript 存储在本地存储对象中并运行它吗?

javascript - jQuery 中的 Bootstrap 选择附加功能