Думайте, что это должно сработать. 'stage' предполагает, что вы ссылаетесь на тег объекта. Если «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
}
});
Вы также можете хранить URL на перешедшие объектах в качестве атрибута или данных, и захватить его при нажатии.
<thing data-myUrl="www.website.com"></thing>
.. и:
window.location.href = $(ev.target).data('myUrl')
EDIT:
Использование функций по ссылке вы предоставили, ваша функция должна быть:
stage.on('mousedown', function(evt) {
var shape = evt.targetNode;
if (shape) {
window.location.href = 'http://www.google.com';
}
});
.. так что это будет отправьте браузер на ваш URL-адрес, в любое время, когда пользователь нажимает на что-либо, что имеет НИЧЕГО, как его значение «shape». Вы можете использовать (shape === 'circle')
или что-то еще, если хотите уточнить, на что они нажали. («круг» - это предположение, ваши фактические значения формы могут отличаться)
Что такое 'stage', что такое' Application', что такое 'OpenURL', что такое' evt' и т. д.? – adeneo
это Kinetic.js? –
Может быть неправильно, но я считаю, что параметр *** jQuery *** для обработчика события является объектом события. (то есть «OpenLink» является объектом события, а 'evt' не определено). Вы можете просмотреть [docs] (http://api.jquery.com/on/) ... – War10ck