【发布时间】:2011-10-15 17:06:44
【问题描述】:
我想为所选行实现上下文菜单。一次,可以选择一行,如果用户右键单击它,应该会弹出上下文菜单。如果用户单击其他未选择的行,则不应弹出上下文菜单。
我的代码已给出;请给我一个想法?
jQuery:
jQuery(document).bind("contextmenu", function(e) {
jQuery('#myMenu').hide();
return false;
});
jQuery('.even').bind("contextmenu", function(e) {
jQuery('#myMenu').css({
top: e.pageY+'px',
left: e.pageX+'px'
}).show();
return false;
});
jQuery('.odd').bind("contextmenu", function(e) {
jQuery('#myMenu').css({
top: e.pageY+'px',
left: e.pageX+'px'
}).show();
return false;
});
上下文菜单:
<ul id="myMenu" class="contextMenu">
<li class="liReview"><a href="#liReview"><%include:SignforReview%></a></li>
<li class="liApprove"><a href="#liApprove"><%include:SignforApproval%></a></li>
<li class="liRetReview"><a href="#liRetReview"><%include:RetractReviewSignature%></a></li>
<li class="liRetApprove"><a href="#liRetApprove"><%include:RetractReviewSignature%></a></li>
</ul>
HTML -
<table>
<tr id="line_<%=getData(ttEnl.line-num)%>"
<%if:rowStyle(2)%>
class="even"
onmouseover="highlightLink(this,'even');"
onmouseout="restore(this,'even');"
onclick="setSelected(this,'even');subjectSessionCheck('<%=getData(ttEnl.line-num)%>','<%=getData(ttEnl.rEnlRowid)%>','<%=getData(ttEnl.obj_enl)%>'); "
<%else:rowStyle%>
class="odd"
onmouseover="highlightLink(this,'odd');"
onmouseout="restore(this,'odd');"
onclick="setSelected(this,'odd');subjectSessionCheck('<%=getData(ttEnl.line-num)%>','<%=getData(ttEnl.rEnlRowid)%>','<%=getData(ttEnl.obj_enl)%>'); "
<%end:rowStyle%>
<td>.....</td>
<td>.....</td>
<td>.....</td>
</tr>
</table>
【问题讨论】:
标签: jquery contextmenu