Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在函数中引用(此)_Javascript_Jquery_Function - Fatal编程技术网

Javascript 在函数中引用(此)

Javascript 在函数中引用(此),javascript,jquery,function,Javascript,Jquery,Function,我有一些元素是由动态html生成的,我想引用调用该函数的特定href,而其中一个可能正在调用该函数 <a href="javascript:Foo(this)">Link</a> 尝试引用$(此)时不起作用。是否有其他方法可以执行此操作,或者我必须创建动态ID?如果您想通过href,则可以使用此方法 但是,html代码中的onsomething处理程序根本不是jquerysh。 为链接提供一个类并设置一个活动处理程序: $('.mylink').live('clic

我有一些元素是由动态html生成的,我想引用调用该函数的特定href,而其中一个可能正在调用该函数

<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>