[英]OpenLayers 3 right click event
我正在嘗試聽鼠標右鍵單擊,如文檔中所述,我嘗試了"rightclick"
,但它不起作用。
誰能說為什么它不起作用???
map.on('rightclick', function (evt) {
var feature = map.forEachFeatureAtPixel(evt.pixel, function (feature) {
if (typeof (feature.getId()) != "undefined") {
return feature;
}
});
if (feature) {
var registeredObjectId = -1;
if (typeof MapObjects !== "undefined") {
for (var i = 0; i < MapObjects.ObjectResult.length; i++) {
if (feature.p.name === MapObjects.ObjectResult[i].Id) {
registeredObjectId = i;
}
}
}
var geometry = feature.getGeometry();
var coord = geometry.getCoordinates();
if (registeredObjectId === -1) {
popup.setPosition(evt.coordinate);
$(element).popover({
'placement': 'top',
'html': true,
'content': "<a style='cursor: pointer' onclick='DeleteCoordinate(\"" + feature.getId() + "\")'>Delete</a>"
});
$(element).popover('show');
$(element2).popover('destroy');
}
else {
popup2.setPosition(evt.coordinate);
console.log(MapObjects.ObjectResult[registeredObjectId].Name);
console.log(MapObjects.ObjectResult[registeredObjectId].Value);
$(element2).popover({
'placement': 'top',
'html': true,
'content': "<label>" + MapObjects.ObjectResult[registeredObjectId].Name + "</label></br><label>" + MapObjects.ObjectResult[registeredObjectId].Value + "</label></br><a style='cursor: pointer' onclick='DeleteCoordinate(\"" + feature.getId() + "\")'>Delete</a>"
});
$(element2).popover('show');
$(element).popover('destroy');
}
} else {
$(element).popover('destroy');
$(element2).popover('destroy');
}
});
在“單擊”上它起作用,“指針”在右鍵上起作用,但也包括“左”。
該事件不應該是rightclick
,而應該是mousedown
。 有關鼠標按鈕的信息位於其eventArgs中。 嘗試evt.button
,對於所有現代瀏覽器,左,中或右鼠標按鈕的值依次為1、2或3,對於較舊的IE evt.button == 2
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.