我对Javascript很新,所以我不太了解。我希望用户单击此形状并打开链接。这是我的代码:
stage.on('mousedown', function(OpenLink) {
var shape = evt.targetNode;
if (shape) {
Application.OpenURL("[My link goes here]");
}
});
我不知道这是否接近正确,但我似乎无法找到答案。
编辑:这是我添加到此的代码:http://www.html5canvastutorials.com/labs/html5-canvas-interactive-building-map/
答案 0 :(得分:0)
使用window.location = "[My link goes here]";
导航到其他网址。
答案 1 :(得分:0)
我假设你安装了jQuery,考虑到你已经在你的问题中包含了jQuery标签。如果没有,请参阅http://jquery.com
您可以通过jQuery click事件处理程序执行此操作:
$('.stage').mousedown(function(e) {
var shape = e.target;
window.location.href = 'http://example.com';
});
如果这不是您想要的,请回答此答案,说明您希望它做什么。
PS:在此脚本中,您不会对触发click事件的元素执行任何操作,但您会将其存储在shape
变量中。我纯粹是为了演示如何获取触发事件的元素,但是在这个脚本中,可以省略该行。
答案 2 :(得分:0)
认为这应该有效。 'stage'假定您引用了object标签。如果'stage'是一个类或id,则需要相应地更新。
$('stage').mousedown(function(ev){ // Attach mousedown listener
if (ev.target.targetNode) { // if clicked object has 'targetNode'
ev.preventDefault(); // prevent additional bubbling
window.location.href = 'http://www.google.com'; // Send browser to url
}
});
您还可以将点击的对象上的网址存储为属性或数据,并在点击时抓取它。
<thing data-myUrl="www.website.com"></thing>
..和:
window.location.href = $(ev.target).data('myUrl')
编辑:
使用您提供的链接中的功能,您的功能应该是:
stage.on('mousedown', function(evt) {
var shape = evt.targetNode;
if (shape) {
window.location.href = 'http://www.google.com';
}
});
..因此,只要用户点击任何具有ANYTHING作为其“形状”值的内容,就会将浏览器发送到您的网址。您可以使用(shape === 'circle')
或其他任何内容,如果您想更具体地了解他们点击的内容。 ('circle'是猜测,您的实际形状值可能不同)