我的问题是我的锚点 onclick 事件没有触发。这是我的jQuery代码
这是一个 pageLoad 事件
function pageLoad() {
我在锚点上绑定上下文菜单事件
$('#ctl00_ContentPlaceHolder1_gvParamShow a').bind("contextmenu", function(e) {
// alert('event fired');
e = jQuery.event.fix(e);
$('#contextMenu').parent().css('position', 'absolute');
$('#contextMenu').css('borderColor', 'Black').css('borderStyle', 'Solid').css('borderWidth', '1px').css('backgroundColor', '#EEEEEE').css('color', 'Black');
$('#contextMenu').show();
//alert('appended');
var mouseX = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
var mouseY = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
document.getElementById('contextMenu').style.top = mouseY + 'px';
document.getElementById('contextMenu').style.left = mouseX + 'px';
return false;
});
这是问题区域,阅读代码末尾的解释
$('*').not($('.anchorClass')).mousedown(function() {
if ($(this).is('a')) {
}
else {
$('#contextMenu').hide();
}
});
}
在锚点单击时触发的事件
function showLiveTrack() {
alert('hey');
return false;
}
这是我的上下文菜单代码
<div id="contextMenu">
<div><a onclick="showLiveTrack();" class="anchorClass">Show Live Track</a></div>
<div><a class="anchorClass">Bhuwan</a> </div>
<div><a class="anchorClass">Bhuwan</a> </div>
<div><a class="anchorClass">Bhuwan</a> </div>
</div>
我的问题的解释:
我想在上下文菜单锚点单击时触发 showLiveTrack() 函数。另外,当用户单击屏幕上的其他任何位置时,我想让上下文菜单消失。我已经尝试了所有可能的方法,但我无法触发这个锚的事件。相反,它使上下文菜单消失。为什么?
如果我删除以下代码
$('*').not($('.anchorClass')).mousedown(function() {
if ($(this).is('a')) {
}
else {
$('#contextMenu').hide();
}
});
然后事件被触发..
我究竟做错了什么???