Javascript 在函数中引用(此)
我有一些元素是由动态html生成的,我想引用调用该函数的特定href,而其中一个可能正在调用该函数Javascript 在函数中引用(此),javascript,jquery,function,Javascript,Jquery,Function,我有一些元素是由动态html生成的,我想引用调用该函数的特定href,而其中一个可能正在调用该函数 <a href="javascript:Foo(this)">Link</a> 尝试引用$(此)时不起作用。是否有其他方法可以执行此操作,或者我必须创建动态ID?如果您想通过href,则可以使用此方法 但是,html代码中的onsomething处理程序根本不是jquerysh。 为链接提供一个类并设置一个活动处理程序: $('.mylink').live('clic
<a href="javascript:Foo(this)">Link</a>
尝试引用$(此)时不起作用。是否有其他方法可以执行此操作,或者我必须创建动态ID?
如果您想通过href,则可以使用此方法
但是,html代码中的onsomething处理程序根本不是jquerysh。
为链接提供一个类并设置一个活动处理程序:
$('.mylink').live('click', function() {
// do whatever you want with this or $(this) or this.href or $(this).attr('href')
});
使用
javascript:
伪协议处理程序毫无意义。使用
相反。将js部件放在
href
属性中是个坏主意。最佳做法是使用addEventListener
添加处理程序,但在这里,您可以直接设置onclick
<a href="#" onclick="Foo(event);">Link</a>
因此,当您单击链接时,Foo
被调用,事件作为参数。事件对象引用了源元素,在标准浏览器中为target
,在IE中为srcelem
。preventDefault
/返回false末尾的“代码>组合”可防止浏览器“跟随”指向#的链接
编辑:再想一想,由于您有许多链接,使用jquery添加处理程序的推荐方法可能更好(尽管第一种解决方案仍然很好)
。。。
...
$('a')。单击(Foo);
你能举例说明你在哪里以及如何引用$(这个)
?为什么要把jQuery引入一个绝对不需要它的等式中?这很容易做到,也很容易理解,只需使用香草javascript。@Sean Kinsey询问操作人员。。。OP标签jQuery,您期望什么?…:pI希望OP不会知道得更好(而不是假设您需要jQuery),我希望回答的人知道得更好。@Sean-请在鼓励过时的做法之前阅读:
不起作用。
<a href="#" onclick="Foo(event);">Link</a>
function Foo(e) {
var a = e.target || e.srcElement;
// TODO: stuff
if (e.preventDefault) {
e.preventDefault();
}
else {
return false;
}
}
...
<a id="A5" href="#" >Link</a>
<a id="A6" href="#" >Link</a>
<a id="A7" href="#" >Link</a>
...
<script>
$('a').click(Foo);
</script>