Backbone click event won't return evt.Target IE8
鉴于以下单击处理程序,我无法记录 e.currentTarget 或 jQuery 通常返回的大多数对象。这仅在 IE8 中发生。
1 2 3 4 | clickHandler: function(evt){ //do stuff console.log('evt: ', evt); } |
如果我记录该事件,我只会得到少数属性,就像这样。我怎样才能获得完整的活动?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | LOG: evt:{ "type":"click", "jQuery111008085261648353432": true, "toElement": null, "screenY": 465, "screenX": 327, "pageY": 280, "pageX": 278, "offsetY": 39, "offsetX": 257, "fromElement": null, "clientY": 280, "clientX": 278, "button": 0, "which": 0, "shiftKey": false, "metaKey": false, "ctrlKey": false, "altKey": false, "handleObj": { "type":"click", "origType":"click", "guid": 113, "selector":"p, li, input, textarea, h1, h2, h3, h4, h5, h6, th, td", "needsContext": false, "namespace":"delegateEventsview103" } } |
这是我为事件定义的内容:
1 | 'click p, li, input, textarea, h1, h2, h3, h4, h5, h6, th, td' : 'clickHandler' |
试试这个:
// 支持 IE6-8
var 目标 = e.target || e.srcElement;
如果不支持 e.target(未定义),则返回 e.srcElement