相关疑难解决方法(0)

用于自动执行匿名JavaScript函数的括号的位置?

我最近将当前版本的json2.js与我在项目中的版本进行了比较,并注意到函数表达式的创建和自我执行方式有所不同.

用于在括号中包装匿名函数然后执行它的代码,

(function () {
  // code here
})();
Run Code Online (Sandbox Code Playgroud)

但现在它将自动执行的函数包含在括号中.

(function () {
  // code here
}());
Run Code Online (Sandbox Code Playgroud)

有通过CMS在接受答案的注释解释JavaScript的封装匿名函数的语法是"既:(function(){})();(function(){}());有效."

我想知道有什么区别?前者是否通过绕过全局匿名函数来占用内存?括号应该放在哪里?

javascript syntax anonymous-function iife

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

我在哪里使用JavaScript中的按位运算符?

我读过"什么是按位运算符?" ,所以我知道运算符什么 ,但我还不清楚如何使用它们.任何人都可以提供任何实际的例子,说明位运算符在JavaScript中有用吗?

谢谢.

编辑:

只是深入研究jQuery源代码,我发现了几个使用按位运算符的地方,例如:(只有&运算符)

// Line 2756:
event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));

// Line 2101
var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;
Run Code Online (Sandbox Code Playgroud)

javascript bitwise-operators

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

jQuery弃用了'.toggle()'.寻求替代方法

由于.toggle()弃用从jQuery的,我正在寻找一个新的简单的解决方案,这将使我创造"更多"按钮,滑下一个段落,而改变按钮上的文字为"阅读少".

我把这个工作代码放在一起:

var moreText = "Read more";
var lessText = "Read less";

$(document).ready(function () {
    $("a.readmorebtn").text(moreText);
    $("a.readmorebtn").toggle(function () {
        $("a.readmorebtn").text(lessText);
        $("p.more").slideToggle(0);
    },

    function () {
        $("a.readmorebtn").text(moreText);
        $("p.more").slideToggle(0);
    });
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/approach/gDvyR/

您将在小提琴中看到左侧的选项上选中了"Migrate 1.1.0",这是.toggle()使用此(最新)版本的jQuery以这种方式进行工作的唯一方法.

我的问题是,你能想到另一种执行相同功能但不使用.toggle()和迁移的方法吗?

如果你觉得这个问题已在其他地方得到解答,我会道歉,但我一直在寻找解决办法"相对简单"的提示,而没有真正看到任何明确的方法.不幸的是,对jQuery来说,它似乎并不是那么直接!

非常感谢.

javascript jquery

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

用jQuery更改按钮的功能?

这可能是一个愚蠢的问题,但我无法做到这一点.我可以使用普通的JavaScript更改按钮的功能,但不能使用jQuery.我的目标是一个非常简单的文本调整大小按钮.这个按钮需要两个不同的功能; 一个使文本更大并将click函数更改为另一个函数,另一个函数使文本更小并再次将click函数更改为第一个函数.由于相同的按钮将用于放大和缩小文本sixe,我需要这个工作.我正在研究一个学校项目,我们只需要使用jQuery/jQuery UI进行这项任务.

使用普通的JavaScript,它将是这样的:

var button = document.getElementById('click-button');
button.onclick = firstClick;

function firstClick (){ 
    button.onclick=secondClick;
}

function secondClick(){ 
    button.onclick=firstClick;
}
Run Code Online (Sandbox Code Playgroud)

如何使用jQuery实现相同的功能?

jquery click button

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

在 2 个函数之间切换

我正在尝试创建一个切换功能,因此当您单击链接时,它会做一件事,而当您再次单击同一链接时,它会做另一件事。我的问题是我使用的是最新版本的 Jquery,似乎 toggle-event 已弃用

在我发现它已被弃用之前,我试图使用它。

$('#edit a').toggle(
     function(){
        editList();
    },
     function(){
        addList();
});
Run Code Online (Sandbox Code Playgroud)

它在文档中说它已经绑定到点击。

javascript jquery click toggle

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