如何在JavaScript中的其他函数中更新函数?

时间:2016-11-11 12:56:27

标签: javascript jquery

如何在函数粘贴中更新函数_handlePaste()?

$.FE.MODULES.paste = function(editor) {
  var clipboard_html;

  function _handlePaste(e) {

    // Read data from clipboard.
    if (e && e.clipboardData && e.clipboardData.getData) {
      var types = '';
      var clipboard_types = e.clipboardData.types;

      if (editor.helpers.isArray(clipboard_types)) {
        for (var i = 0; i < clipboard_types.length; i++) {
          types += clipboard_types[i] + ';';
        }
      } else {
        types = clipboard_types;
      }

      clipboard_html = '';

      // HTML.
      if (/text\/html/.test(types)) {
        clipboard_html = e.clipboardData.getData('text/html');
      }

      // Safari HTML.
      else if (/text\/rtf/.test(types) && editor.browser.safari) {
        clipboard_html = e.clipboardData.getData('text/rtf');
      } else if (/text\/plain/.test(types) && !this.browser.mozilla) {
        clipboard_html = editor.html.escapeEntities(e.clipboardData.getData('text/plain')).replace(/\n/g, '<br>');
      }

      if (clipboard_html !== '') {
        _processPaste();

        if (e.preventDefault) {
          e.stopPropagation();
          e.preventDefault();
        }

        return false;
      } else {
        clipboard_html = null;
      }

    }

    // Normal paste.
    _beforePaste();
  }
}

该函数是jquery插件的一部分,所以我想更改插件文件之外的函数,以便能够进一步更新它。

我试图改变它:

(function ($) {
   $.FE.MODULES.paste._handlePaste = function (e) {
      // my implementation of _handlePaste 
   }
})(window.jQuery);

但我无法以这种方式访问​​_handlePaste。

0 个答案:

没有答案