Вот моя ситуация. У меня есть ссылки на веб-сайте. Некоторые из них выглядят так:javascript get href при нажатии ссылки
<a target="_blank" onclick="someFunction()" href="/somFile.pdf">some file</a>
и некоторые выглядят так:
<a target="_blank" href="/somFile.pdf">some file</a>
Все ссылки должны называть SomeFunction() при нажатии. Те, которые имеют вызов в атрибуте onclick, представляют собой устаревшие страницы контента. Новые страницы имеют прикрепленное к ним событие jQuery click:
$(document).ready(function(){
$('a[href$=".pdf"]').click(function() {
someFunction();
});
});
Итак, вот что. Я могу обновить someFunction(), но я не могу коснуться фактических ссылок или этого jQuery. Мне нужно знать значение href ссылки. Я попытался использовать следующее в someFunction():
var ev = window.event;
origEl = ev.target || ev.srcElement;
console.log(origEl.href);
но это не работает. Я также попробовал console.log(window.event)
и ничего не получил, говорит, что он не определен. Любая идея, что мне здесь не хватает, или это практически невозможно без передачи ссылки на нее при вызове функции?
Редактировать: быть ясным, я не могу в качестве краткосрочного или даже среднесрочного решения отредактировать вызов someFunction()
в onclick или в коде jQuery черный, поэтому я не могу, например, изменить их на someFunction(this)
или аналогичный. Я не уверен, что это возможно, чтобы получить HREF внутри SomeFunction(), если только я, что хотя :(
Моя скрипка работает, как вы просили. Мне пришлось модифицировать ваши блоки кода, но ТОЛЬКО, чтобы предотвратить попытку ссылки на самом деле, и чтобы соответствовать остальной части кода из-за отсутствующей ссылки ссылки в формате pdf. – Lazerblade