相关疑难解决方法(0)

jQuery要避免的陷阱

我正在用jQuery开始一个项目.

您在jQuery项目中遇到了哪些陷阱/错误/误解/滥用/误用?

javascript jquery

209
推荐指数
19
解决办法
4万
查看次数

jQuery.map - 函数的实际用途?

我试图更好地理解jQuery.map函数.

因此,一般而言.map采用数组并将其"映射"到另一个项目数组.

简单的例子:

$.map([0,1,2], function(n){
    return n+4;
});
Run Code Online (Sandbox Code Playgroud)

结果在[4,5,6]

我想我明白它的作用.我想知道为什么有人需要它.这个功能的实际用途是什么?你是如何在你的代码中使用它的?

javascript jquery

34
推荐指数
3
解决办法
3万
查看次数

jQuery:将$(this)传递给命名函数事件处理程序

我注意到,在将事件处理程序绑定到javascript事件时,建议使用命名函数.当我的函数需要传递给this对象时,我该怎么做?

例如,如何通过直接调用来替换下面的匿名函数doFancyStuff:

$(document).on('change', 'input.fancy-textbox', function () {
    doFancyStuff($(this));
});

function doFancyStuff($textbox) {
    // fanciness
}
Run Code Online (Sandbox Code Playgroud)

如果你指出我可能打破上述代码的其他约定,请加分.


为了澄清,我想doFancyStuff()从多个地方调用我的例子中的方法,否则,我可以做这样的事情:

$(document).on('change', 'input.fancy-textbox', doFancyStuff);

function doFancyStuff() {
    var $textbox = $(this);

    // fanciness
}
Run Code Online (Sandbox Code Playgroud)

javascript jquery coding-style

21
推荐指数
3
解决办法
2万
查看次数

12
推荐指数
4
解决办法
1731
查看次数

Jquery手风琴关闭然后打开

我使用jquery accordion插件在页面上设置了一些手风琴,所以我可以实现expand all并折叠所有功能.

每个ID元素都是它自己的手风琴,下面的代码可以将它们全部关闭,无论哪个已经打开:

$("#contact, #address, #email, #sales, #equipment, #notes, #marketingdata")
    .accordion("activate", -1)
;
Run Code Online (Sandbox Code Playgroud)

我的问题是扩展所有.当我将它们全部展开时使用以下代码:

$("#contact, #address, #email, #sales, #equipment, #notes, #marketingdata")
    .accordion("activate", 0)
;
Run Code Online (Sandbox Code Playgroud)

有些人会收缩,有些人会根据他们以前是否开放而扩大.

我纠正这个问题的想法是将它们全部折叠,然后在点击展开全部时将它们全部展开.但是这段代码无法正常执行:

$("#contact, #address, #email, #sales, #equipment, #notes, #marketingdata")
    .accordion("activate", -1)
;
$("#contact, #address, #email, #sales, #equipment, #notes, #marketingdata")
    .accordion("activate", 0)
; 
Run Code Online (Sandbox Code Playgroud)

它只会击中第二个命令而不是先关闭它们.有什么建议?

jquery accordion jquery-plugins

10
推荐指数
1
解决办法
3万
查看次数

当用户使用JQuery悬停在链接上时,如何显示图像

我有一份产品清单.

<ul>
<li><a href="chair.php">CHAIR</a></li>
<li><a href="table.php">TABLE</a></li>
<li><a href="sofa.php">SOFA</a></li>
<li><a href="bookshelf.php">BOOKSHELF</a></li>
<ul>
Run Code Online (Sandbox Code Playgroud)

鼠标悬停我希望在一个div #preview显示产品的缩略图.

我不想为每个图像硬编码jquery.而是我想写的JQuery能吸引图像位置并插入到DOM.我不知道如何标记HTML以包含图像位置.有任何想法吗?

jquery

5
推荐指数
1
解决办法
2万
查看次数

是否需要缓存jQuery $(this)

我最近发表了一篇关于jQuery性能的博客文章(即http://net.tutsplus.com/tutorials/javascript-ajax/10-ways-to-instantly-increase-your-jquery-performance/),并在所有这些我们都应该将jQuery对象缓存到javascript变量.

但是,我需要知道的是,这是否适用于$(this).如果我这样做,我会获得性能:

$("#some-link").click("click", function(){
  var $this = $(this);
  $this.doSomeThing();
});
Run Code Online (Sandbox Code Playgroud)

预先感谢您的帮助.

variables jquery caching variable-caching

4
推荐指数
1
解决办法
2283
查看次数