从模块模式开始
Starting with module pattern
我试图从一开始就在JS代码中使用模块模式,但我在理解如何执行这种代码设计方面遇到了问题。
这是一个简单的事件:
$('#docTable').on('dblclick', 'tbody tr.line', function (event) {
$('#modal1').modal({ keyboard: false, backdrop: "static", dismiss: "modal" });
$('#modal1').modal('show');
});
我已经创建了几个JS文件。View.js:
var task = window.task || {};
task.View = (function () {
function View(rootElement) {
var dom = {
table: $('#docTable'),
},
callbacks = {
onsubmit: undefined
};
return {
};
}
return View;
}());
和Controller.js:
$(document).on('ready', function () {
var View = task.View(document);
});
但我不知道如何继续并赶上dblclick事件。
有人能帮我吗?
提前谢谢。
您可以创建"class"视图并将事件绑定添加到其原型中。之后,您可以在多个表上使用它。如果您想访问表中的元素,您可以向它们添加类,并在defineDOM
方法中找到它们:
View.js
var task = window.task || {};
task.View = function (table) {
this.$table = $(table);
this.init();
};
task.View.prototype ={
init: function () {
this.defineDOM();
this.bindEvents();
},
defineDOM: function() {
// Search for DOM elements in context of table element
this.$button = $('.docButton', this.$table);
this.$links = $('.docLinks', this.$table);
},
bindEvents: function () {
this.$table.on('dblclick', 'tbody tr.line', this.onDblClick.bind(this))
},
onDblClick: function () {
$('#modal1').modal({ keyboard: false, backdrop: "static", dismiss: "modal" });
$('#modal1').modal('show');
}
}
用法
$(document).on('ready', function () {
new task.View('#docTable');
});
相关文章:
- Yii2从点击链接开始加载模式
- d3转换从页面加载开始,而不是从模式弹出加载开始
- 从 ngDialog 模式修改完整日历事件信息(开始和结束)
- 从模块模式开始
- 可以't开始使用放大弹出模式弹出
- 视频通过javascript被隐藏,但已经开始播放(自动播放模式),即使是's不可见
- 如何从给定模式开始删除字符串的末尾
- JavaScript 正则表达式查找与开始和结束模式匹配的所有子字符串
- 在手动模式下单击“下一步”或“上一步”按钮后,图像转换会自动开始
- 如何从单击的元素开始重新启动顺序模式
- 是否不可能在JavaScript中使用多行regex模式来指示输入字符串的开始
- 如何使正则表达式从一开始就匹配模式
- Regex模式搜索从2个字母或2个数字开始
- 在jqgrid's编辑模式下,是否可以默认将光标从特定列开始?
- 模式匹配,不是从零开始的
- 我如何在js中访问以特定模式开始的对象的属性
- 循环只以特定模式开始的JSON对象
- Chrome扩展隐身模式:检查是否激活或开始与一个按钮
- 在 aspx 页开始加载之前显示模式弹出消息
- 当PC从睡眠模式唤醒时,开始调用js函数