我需要添加一個onclick事件到Visio在SharePoint中的形狀,使用JavaScript,就像vwaControl處理程序shapeselectionchanged,但點擊後,有沒有什麼辦法可以做到這一點?點擊形狀上的Sharepoint javascript
對不起,我的英語不是我的母語。
我希望你能理解我。
我需要添加一個onclick事件到Visio在SharePoint中的形狀,使用JavaScript,就像vwaControl處理程序shapeselectionchanged,但點擊後,有沒有什麼辦法可以做到這一點?點擊形狀上的Sharepoint javascript
對不起,我的英語不是我的母語。
我希望你能理解我。
我只是做了類似的事情。 您可以使用shapeSelectionChangedHandler來處理點擊。據我所知沒有onClick功能,但shapeSelectionChangedHandler適合我。
參見: Programming with Visio in SharePoint, create new Outlook meeting in ?Javascript?
參見:http://msdn.microsoft.com/en-us/library/gg243427.aspx爲指導,與內容Web部件等設置。
代碼我使用,只需添加你想要什麼shapeSelectionChangedHandler = function(source, args) {}
<script language="javascript">
var app = Sys.Application;
app.add_load(onApplicationLoad);
// hold an instance of the Visio VWA control
var vwaControl;
var shapeSelectionChangedHandler = null;
function onApplicationLoad()
{
vwaControl= new Vwa.VwaControl("WebPartWPQ4");
vwaControl.addHandler("diagramcomplete", onDiagramComplete);
vwaControl.addHandler("shapeselectionchanged", shapeSelectionChangedHandler);
}
function onDiagramComplete()
{
var vwaPage = vwaControl.getActivePage();
vwaPage.setZoom(35); // force the initial zoom level
}
shapeSelectionChangedHandler = function(source, args)
{
// get the selected shape from the shapes on the page
var vwaPage = vwaControl.getActivePage();
var vwaShapes = vwaPage.getShapes();
var shape = vwaShapes.getItemById(args);
// get the data to display for the selected shape
var data = shape.getShapeData();
var strRoomName = "";
var strFloorNumber = "";
var strCapacity = "";
var strStatus = "";
for (var j = 0; j < data.length; j++)
{
if (data[j].label == "RoomName")
{
strRoomName = data[j].value;
continue;
}
if (data[j].label == "FloorNumber")
{
strFloorNumber = data[j].value;
continue;
}
if (data[j].label == "Capacity")
{
strCapacity = data[j].value;
continue;
}
if (data[j].label == "RoomStatus")
{
strStatus = data[j].value;
continue;
}
}
// get the selected state input and set its value
var inputRoomName = document.getElementById('strRoomName');
inputRoomName.value = strRoomName;
var inputFloorNumber = document.getElementById('strFloorNumber');
inputFloorNumber.value = strFloorNumber;
var inputCapacity = document.getElementById('strCapacity');
inputCapacity.value = strCapacity;
var inputStatus = document.getElementById('strStatus');
inputStatus.value = strStatus;
}
謝謝,但我需要點擊,因爲我需要更新一個列表,每次點擊時,到目前爲止,我可以通過雙擊完成,將shapeClicked函數添加到document.onclick(僅在visio網站中訪問頁面),獲取vwaShapes.getselectedShape,知道選擇了哪個形狀,並且需要在列表中進行更改。無論如何,你知道如何通過JavaScript鏈接一個新的列表形狀,我可以創建檢索或更新,但我不知道如何將它與Visio網絡訪問連接 – 2013-03-26 19:00:21
的形狀是不規則的,很多,所以我想映射圖像是出了問題,如果可以做。但如果這是唯一的方式可以有人給我一個提示? – 2013-03-25 17:20:49