我想用超链接调用 Jquery 函数。
正如我现在拥有的那样,它是这样的。
<a name='lnkViews'>" + title+ "</a>
$("a[name='lnkViews']").on("click", function (e) {
alert("Calling function");
});
因为它在这里,所以它不起作用。如何使用超链接调用该函数?
我想用超链接调用 Jquery 函数。
正如我现在拥有的那样,它是这样的。
<a name='lnkViews'>" + title+ "</a>
$("a[name='lnkViews']").on("click", function (e) {
alert("Calling function");
});
因为它在这里,所以它不起作用。如何使用超链接调用该函数?
防止默认行为或使用javascript:void(0)
技巧。
$(function() { // simply document onload call, just pointing out where to put code, if you didn't already know
$(document).on('click', 'a[name=lnkViews]', function(e) {
e.preventDefault();
});
})
| 或 |
<a name="lnkViews" href="javascript:void(0);">" + title+ "</a>
然后,在你的 JS
$(function() {
$(document).on('click', 'a[name=lnkViews]', function(e) {
/* do work */
});
})
我注意到在您的评论中您说链接已创建dynamically
,然后我的解决方案将根据我使用的delegate
版本为您工作.on
。这意味着,事件被分配给添加到与选择器匹配的文档的任何内容。因此分配的原因是:
$(document).on('click', 'a[name=lnkViews]', function(e) {
你用的是哪个版本的jquery?
把它放入:
$(function()
{
js code
});
您可能已经忽略了它,但也许不是因为它看起来您正在动态添加链接。
如果是这样,请尝试:
var link = "<a href='#' onclick='alert(\'Calling function\');'>" + title + "</a>";
您可以考虑以下示例: jquery sample
例子
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
<a id="aLink">First Paragraph</a>
<script>
$("#aLink").click(function () {
alert("Calling function");
});
</script>
</body>
</html>
on('click')
当你的代码被执行时,你必须确保你的链接在 DOM中。
jQuery 函数on()
会将事件处理程序附加到其中包含的所有 jQuery 对象,$("a[name='lnkViews']")
但如果在执行"a[name='lnkViews']"
时您的 DOM 中没有匹配的元素,$("a[name='lnkViews']").on()
则不会附加任何处理程序。
要解决此问题,您可以这样做:
var $a = $('<a name="lnkViews">' + title+ '</a>');
$a.on("click", function (e) { });
//adding $a in your DOM with element.append($a); for exemple
您也可以通过执行$("a[name='lnkViews']").on()
以下操作等待页面加载完成:
$(function() {
$("a[name='lnkViews']").on("click", function (e) { });
});
问候
它工作正常。您的代码应包含});
用于关闭 jquery 函数:
$("a[name=lnkViews]").on("click", function () {
alert("Calling function");
});