<span class="keyword">var</span> getReportKey = <span class="keyword">function</span>(<span class="variable">$ele</span>, max) {
<span class="comment">// 这里需要设置一个 max 值, 避免死循环</span>
max = parseInt(max, <span class="number">10</span>) || <span class="number">5</span>;
<span class="keyword">var</span> key = [];
<span class="keyword">var</span> id = <span class="string">''</span>;
<span class="keyword">do</span> {
id = <span class="variable">$ele</span>.attr(<span class="string">'id'</span>);
<span class="keyword">if</span> (id) {
key.push(<span class="string">'#'</span> + id);
} <span class="keyword">else</span> {
key.push(<span class="variable">$ele</span>.prop(<span class="string">"tagName"</span>).toLowerCase());
<span class="variable">$ele</span> = <span class="variable">$ele</span>.<span class="keyword">parent</span>();
}
} <span class="keyword">while</span> (!id && --max);
<span class="keyword">return</span> key.reverse().join(<span class="string">' '</span>);
};
$(<span class="string">'#container'</span>)[<span class="number">0</span>].addEventListener(<span class="string">'click'</span>, <span class="keyword">function</span>(event) {
<span class="comment">// 获得鼠标点击的元素</span>
<span class="keyword">var</span> <span class="variable">$target</span> = $(event.target);
<span class="comment">// 根据该元素获取上报的 key</span>
<span class="keyword">var</span> reportKey = getReportKey(<span class="variable">$target</span>);
<span class="keyword">var</span> data = <span class="keyword">null</span>;
<span class="keyword">switch</span> (reportKey) {
<span class="keyword">case</span> <span class="string">'#container h3 a'</span>:
data = {
action: <span class="string">'title_clk'</span>
};
<span class="keyword">break</span>;
<span class="comment">// and so on</span>
<span class="keyword">default</span>:
<span class="keyword">break</span>;
}
data && todoReport(data);
}, <span class="keyword">true</span>);