认为这应该工作。 'stage'假定你引用了object标签。如果'阶段'是一个类或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
}
});
您还可以将点击的对象上的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';
}
});
..所以这将只要用户点击任何具有任何“形状”值的任何内容,就可以将浏览器发送到您的网址。你可以使用(shape === 'circle')
或其他什么,如果你想更具体地说明他们点击了什么。 ('circle'是一个猜测,你的实际形状值可能不同)
什么是'stage',什么是'Application',什么是'OpenURL',什么是'evt'等等? – adeneo
是这个Kinetic.js? –
可能是错误的,但我相信事件处理程序的*** jQuery ***参数是事件对象。 (即'OpenLink'是一个事件对象,'evt'未定义)。您可能想查看[docs](http://api.jquery.com/on/)... – War10ck