错误:无法读取属性'defaultView'的未定义,使用jQuery

Error: Cannot read property 'defaultView' of undefined, using jQuery

本文关键字:未定义 使用 jQuery defaultView 读取 属性 错误      更新时间:2023-09-26

我有这样的代码

$(document).ready(function (){
    var Form_addTurbo = $('form#Form_addTurbo');
    Form_addTurbo.submit(function (e){
        e.preventDefault;
        v = new Notification('Creating Turbo.', 'information', 'Working..', function(){return;});
        $.post('/api/turbos/new.php', {
            action : 'createNew'
        }, function (r){
            v.hide();
            if(r.success){
                new Notification('Turbo Create.', 'saved', '', function(){return;});
            }else if(r.error){
            }else{
                new Notification('Something went wrong.', 'error', '', function(){return;});
            }
        }, 'json');
        return false;
    });
});

使用这个api

$(document).ready(function(e) {$("body").prepend('<ul id="notifications"></ul>');});
/**
 * Global notification system
 *
 * @param  String      Message to be displayed
 * @param  String      Type of notification
 *
 * @author    Bram Jetten
 * @version    28-03-2011
 */
Notification.fn = Notification.prototype;
function Notification(value, type, tag, onclickfunc) {
  this.log(value, type);
  this.element = $('<li><span class="image '+ type +'"></span>' + value + '</li>');
  if(typeof tag !== "undefined" && tag !== '') {
    $(this.element).append('<span class="tag">' + tag + '</span>');
  }
  if(typeof onclickfunc == 'function'){
      this.element.click(onclickfunc);
  }
  $("#notifications").append(this.element);
  this.show();
}
/**
 * Show notification
 */
Notification.fn.show = function() {
  $(this.element).slideDown(200);
  $(this.element).click(this.hide);
}
/**
 * Hide notification
 */
Notification.fn.hide = function() {  
  $(this).animate({opacity: .01}, 200, function() {
    $(this).slideUp(200, function() {
      $(this).remove();
    });
  });
}
/**
 * Log notification
 * 
 * @param  String      Message to be logged
 * @param  String      Type of notification
 */
Notification.fn.log = function(value, type) {
  switch(type) {
    case "information":
      console.info("*** " + value + " ***");
      break;
    case "success":
      console.log(value);
      break;
    case "warning":
      console.warn(value);
      break;
    case "error":
      console.error(value);
      break;
    case "saved":
      console.log(value);
      break;
    default:
      console.log(value);
      break;
  }
}

所以发生的事情是,我试图关闭通知使用隐藏功能,我相信它给出,但我得到这个错误。

Uncaught TypeError: Cannot read property 'defaultView' of undefined

我相信它不知道"this"是什么,但我如何才能让它工作

对您的示例做了一些小的更改。试试吧http://jsfiddle.net/FLE39/

仔细看了一下你的代码,做了一个新的jsfiddle。

如果你在后端node.js中使用这个,那么这个错误就会出现,而不是使用node-html-to-image