javascript - 为什么js函数在另一个函数内部工作但不能单独工作

标签 javascript jquery

我有下面这两个函数,无论出于何种原因,windowedBox 函数仅在我从另一个函数调用它时才起作用。如果我直接调用 windowedBox(),它不会执行任何操作。如果我调用 getShareButtons(),它会调用 windowedBox() 并正常工作。如果有人知道为什么会发生这种情况,请帮助我。 :(

注意::如果您想知道为什么它显示 $j 而不是 $,因为我就是这样设置的。

function getShareButtons(){
    var postPath = window.location.pathname;
    var videoTitle = 'asdf';
    var videoURL = 'asdf';

    //Output social button attributes
    $j(".facebook-share").attr('href', 'asdf');
    windowedBox(); <---THIS CALL WORKS
}

function windowedBox() { 
    $j(".facebook-share, .twitter-share").click(function(){
        window.open(this.href, videoTitle, "width=626, height=436", "status=0", "toolbar=0");
        return false;
    });
}

最佳答案

我猜这是因为你正在使用变量

videoTitle 

它不是在此函数中声明的,而是在另一个函数中声明的:)

关于javascript - 为什么js函数在另一个函数内部工作但不能单独工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12878313/

相关文章:

javascript - 有没有办法在使用 children() 时获取当前的 child

Javascript 文本框复制/粘贴换行丢失

javascript - 更改 setInterval 的间隔并且所有动画一起运行

jquery-plugins - jQuery:自定义事件的触发函数

javascript - 不同国家/地区的完整日历日期有所不同

javascript - AngularJs - 如何在 ng-repeat 中的每次迭代中过滤嵌套数组对象?

javascript - 带有位置条件的 jQuery 可拖动

javascript - JavaScript 中的多选和全选问题

javascript - 使用自定义段落文本创建 jQuery 函数

javascript - 在 jQuery 终端中的同一行上回显内容