如何禁用html链接而不是调用JS函数?
为了让我的文本与dbpedia有链接,我想知道Javascript中是否存在一种有效的方法,通过单击链接显示带有选定dbpedia信息的div,而不是链接到页面上? 我正在寻找某种“显示无”的链接,以允许我显示我的div。我找不到这个方法,它存在吗?如何禁用html链接而不是调用JS函数?
此外,由于Ajax请求,我的文本中的链接是动态生成的,并且它们没有id或class。
这是我在我的文字链接之一:
<a href="http://dbpedia.org/resource/Lorem_ipsum" title="http://dbpedia.org/resource/Lorem_ipsum" target="_blank" on>Lorem Ipsum</a>
回答:
因为链接是动态创建的,你应该使用event delegation得到它们。您可以使用attribute selector来查看仅以特定子字符串开头的链接。然后使用preventDefault
在使用AJAX获取信息并将其添加到模式之前禁用链接。
$(document).on('click', 'a[href^="http://dbpedia.org"]', function (e) { e.preventDefault();
// load data from your source
});
DEMO
非jQuery的版本将是这个样子:
document.addEventListener('click', handleClick, false); function handleClick(e) {
const el = e.target;
if (el.tagName === 'A' && el.href.startsWith('http://dbpedia.org')) {
e.preventDefault();
// Do things
}
}
DEMO
以上是 如何禁用html链接而不是调用JS函数? 的全部内容, 来源链接: utcz.com/qa/257742.html