javascript - 如何从另一个函数扩展被调用的回调

标签 javascript

我不确定我需要使用什么标题或我需要调用我要做的事情,这就是问题

sortable.js中有一段代码

var sortableStuff;

    sortableStuff = {

        sortableList = $('#mySortable');

        init: function(){

           sortableList.sortable({

              start: function(){

                  lot of codes here... 

              },

              stop: function() {

                  another codes here..
              }
           });
        }

    }

我想从另一个文件(例如 mysortable.js)扩展启动和停止函数,但仍然从上面的文件运行启动和停止回调。

sortableStuff.sortableList.sortable({
       start: function(){
           run the code from the start before..

           run my new code
       }
})

我不是 JavaScript 专家,不知道该怎么称呼我在这里要做的事情,请帮助我。

最佳答案

您的第一个脚本中存在语法错误,将对象文字与变量赋值混合在一起。应该是

var sortableStuff = {
    sortableList: $('#mySortable'),
//              ^                 ^
    init: function() {
        this.sortableList.sortable({
//      ^^^^^ use as a property
            start: function(){
                // lot of codes here... 
            },
            stop: function() {
                // another codes here..
            }
        });
    }
};

现在您可以从外部访问 sortableStuff.sortableList,并且根据您的 sortable 插件的工作方式能够扩展/添加/覆盖回调。

关于javascript - 如何从另一个函数扩展被调用的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24098671/

相关文章:

javascript - 在 *ngFor 中为开放模式生成唯一的变量名称

javascript - 如何设置 <div> 样式以响应 Vue.js 数据成员的更改?

javascript - 使用 HTML 和 CSS 的 slider

javascript - 无法在函数调用中用变量值替换硬编码的属性名称值

javascript - 从 Angular 2 项目调用 JavaScript 文件

javascript - 如何将所选元素从 devTools 页面发送到 chrome 侧边栏页面

javascript - 不完全理解这个闭包是如何工作的

javascript - Jquery 事件仅适用于页面中的元素,不适用于来自使用 ajax 的服务器的元素

php - 正则表达式仅允许选择字母表字符

javascript - 如何在不卸载组件的情况下渲染一组组件?