我需要添加一个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