回复模式BUG 阅读:3068回复:11
主楼的“回复”点击无反应
下面的楼层点击回复会变成这样: 还无法提交 什么JS坏了么? |
不,你直接中键或者右键->新标签页打开某个“回复”按钮就知道了,那个是正常的,因为那个页面本来就不应该让用户看到,所以自然没有正常的UI,看着像CSS没加载一样
例如:https://www.firefox.net.cn/bbs-post-fastreply?tid=60570&pid=363734 正常这个页面应该用ajax动态植入到当前页面作为快速回复。 |
烈之斩:不,你直接中键或者右键->新标签页打开某个“回复”按钮就知道了,那个是正常的,因为那个页面本来就不应该让用户看到,所以自然没有正常的UI,看着像CSS没加载一样这种用法有点奇怪,按钮激活也许依赖外部脚本,不能用也没什么可说的。 |
奇了怪了,我用我的Win10笔记本可以在Chrome和Firefox 100%复现这个BUG(Edge不行),哪怕是纯新profile
但是家里的Win7就不行 |
终于搞明白是怎么回事了
在global.js里有这么一段(从 https://gist.github.com/kejun/3358036 这里抄的): ;(function($){ $.support.touch = 'ontouchend' in document; if (!$.support.touch) { return; } var eventMap = { click: 'touchend', mousedown: 'touchstart', mouseup: 'touchend', mousemove: 'touchmove' }; var simulateEvent = function(eventType) { $.event.special[eventType] = { setup: function() { var el = $(this); el.bind(eventMap[eventType], $.event.special[eventType].handler); if (this.nodeName === 'A' && eventType === 'click') { this.addEventListener('click', function(e){ e.preventDefault(); }, false); } },(下略) 大意就是检测设备是否是触摸设备(通过最前面检测document是否有ontouchend属性,如果有就认为是触摸设备),如果是把onclick事件给禁掉(e.preventDefault()+返回false)。 但是问题是我用的是支持触摸的笔记本,所以虽然有触摸但是99%的情况就在用鼠标 然而这个玩意把鼠标onclick事件给废了,点击没效果了 |