周梦康 发表于 2014-07-28 4000 次浏览 标签 : ThinkSNS

以转发微博为例:

<a event-args="sid=1&stable=weiba_post&curtable=feed&curid=1&initHTML=&appname=weiba&cancomment=1&feedtype=weiba_post" href="javascript:void(0)" event-node="share">转发到微博</a>

点击时,在控制台可以看到发送了一个请求ajax请求,而请求的地址也是根据上面a链接里面的event-argsevent-node所决定的。

是如何触发的我暂时还没完全弄明白,但是不是使用的jquery的选择器来做的事件绑定。

分享事件监听运行的流程和稍微具体点的分析:http://zhoumengkang.com/299.html

#请求的地址
http://zhoumengkang.com/index.php?app=public&mod=Share&act=index&sid=1&stable=weiba_post&curid=1&curtable=feed&appname=weiba&initHTML=&cancomment=1&is_repost=undefined&_=1406526320169

点击之后,在整个dom文档最前面添加弹窗(css样式就不写了)

<div class="wrap-layer ui-draggable" id="tsbox" style="left: 719px; top: 146px;"></div>

在整个dom文档最后面添加背景层

<div class="boxy-modal-blackout" style="height: 1770px; width: 1903px; z-index: 999; opacity: 0.5;">
	<iframe style="z-index:-1;position: absolute;visibility:inherit;width:1903px;height:1770px;top:0;left:0;filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)'" src="about:blank" border="0" frameborder="0"></iframe>
</div>

关于为什么背景层里面要添加<iframe>呢?这个主要是为了兼容IE6,因为在IE6下面无法遮盖住select元素

评论列表