Mas*_*low 6 javascript mithril.js
如果它们是简单的变量更改,那么mithril会谈论很多关于绑定和事件的事情,但是绑定说关于+功能的关键呢?我尝试m.withAttr('keyCode')绑定到我想要处理它的控制器方法,但没有.
Mithril没有为不属于DOM元素属性的属性提供帮助程序.withAttr仅处理DOM元素属性(顾名思义).对于keyCode,您需要定义自定义帮助程序
function withKey(key, callback) {
return function(e) {
var ch = String.fromCharCode(e.keyCode)
if (ch == key) callback(key)
else m.redraw.strategy("none") //don't redraw (v0.1.20+ only)
}
}
m("div", {onkeypress: withKey("+", ctrl.doSomething)})
Run Code Online (Sandbox Code Playgroud)
如果按下的键不是您要查找的键,则else语句可以防止重绘.
Mithril 不会处理整个页面,而是为您处理事件。您可以在该回调中addEventListener执行window.onkeydown您需要的操作,例如更新控制器或重绘页面。
http://jsbin.com/hikinoza/1/edit
orm.prop本身m.withAttr并不在任何地方绑定任何东西。当您为对象指定某些属性时,真正的绑定就会发生,onXXX例如
m('div', {onClick: myFunc})
Run Code Online (Sandbox Code Playgroud)
这会将真实事件附加到将创建的onClick真实dom 节点。div
| 归档时间: |
|
| 查看次数: |
1776 次 |
| 最近记录: |