【问题标题】:fire a custom event on console.log [duplicate]在 console.log 上触发自定义事件 [重复]
【发布时间】:2013-11-03 21:24:15
【问题描述】:

有没有办法在每个console.log() 上触发一个事件,该事件将包括日志函数中传递的参数或它返回的数据?我想要做的是跟踪每个console.log 执行并在页面的div 中传递信息。

我不介意它是 JavaScript 还是 JQuery 答案,因为我在这个项目中同时使用了这两种方法。

【问题讨论】:

    标签: javascript jquery console.log


    【解决方案1】:

    Override jQuery functions

    试试这样的:

    var doSomethingElse = function(data) {
      $("#output").html(data);
    };
    var f = function() { 
      console.log(this); 
      doSomethingElse(this);
    };
    f.apply("Hello World", null); 
    

    【讨论】:

      【解决方案2】:
      <script language="javascript">
          // cache a reference to the log method on the console object
          var _consoleLog = console.log;
      
          // replace the existing log method on the console object
          console.log = function() {
                  // your custom action
              alert(arguments[0]);
      
                  // pass control to the cached log method
              return _consoleLog.apply(console, arguments);
          };
      
          // quick test
          console.log("hello");
      </script>
      

      这样就可以了

      【讨论】:

      • 行号错误
      • 什么行号?
      • 当你使用 console.log 时,浏览器会显示它在哪里(行号)。如果您使用通用控制台日志,浏览器会显示调用 console.log 的行。如果你这样做,它总是显示return _consoleLog.apply的行号
      猜你喜欢
      • 1970-01-01
      • 2019-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多