如何在某些事件中调用HTML元素中的原型函数?

时间:2016-11-25 14:00:00

标签: javascript

我在第一个原型函数中有日历构造函数和两个原型函数我正在创建div元素并创建它的属性ondragstart我想在其中调用另一个原型函数的第二个参数var that = this; that.drag(event),但当它呈现时显示<div ondragstart="that.drag(event)">控制台会给出错误that is not function。在这种情况下如何调用原型函数?请举例说明,谢谢。

 calendar.prototype.tbl = function(){
 var that = this;
 var evDiv = document.createElement('div');     
 evDiv.setAttribute('draggable', 'true');
 evDiv.setAttribute('ondragstart', 'that.drag(event)');
 }

 calendar.prototype.drag = function(ev){
    ev.dataTransfer.setData("text", ev.target.id);
 }

1 个答案:

答案 0 :(得分:1)

使用addEventListener

calendar.prototype.tbl = function() {
    var that = this;
    var evDiv = document.createElement('div');

    evDiv.draggable = true;
    evDiv.addEventListener('dragstart', that.drag);
};

calendar.prototype.drag = function(ev) {
    ev.dataTransfer.setData("text", ev.target.id);
};