javascript – jquery href和onclick分离

前端之家收集整理的这篇文章主要介绍了javascript – jquery href和onclick分离前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的代码
<a id="id101" href="javascript:func1();" onclick="return func2();">Link</a>

func2返回true或false.然后,仅当function2返回true时才调用func1.对 ?

在学习jquery时,我发现onclick不好并且折旧了,所以我将上面的代码修改

<a id="id101" href="javascript:func1();">Link</a>
jquery
$("#id101").click(func2() {
  //same stuffs from before which was in func2
});

现在,我的问题是:

点击处理程序处理完毕后,我在href内部用JavaScript做什么?如果func2中的条件为真,我应该在func2的jQuery单击处理程序中调用func2内的func1吗?
还是有一些优雅的解决方案?

另外,分离html和事件代码是好的,但是这个id为id101的元素有很多与之关联的事件,而在大文件中,可能有很多html元素有很多事件.所以,当我有一个包含许多事件处理程序的大页面时,我怎样才能更好地了解哪个html元素具有哪些以及与之相关的事件数量

根据要求对上述问题作出更多解释,

我的意思是id101可以有onclick,onmouSEOver,onmouSEOut和许多其他类似的事件.可以有许多这样的元素具有许多这样的事件处理程序.我怎样才能更好地发现它们?在旧式中,所有这些事件处理程序都放在一起,就像这样

< a id =“id101”href =“javascript:func1();” onclick =“return func2();”> Link< / a>.

我不是说这很好,但至少我可以看到它有这个onclick事件.但现在当把它分成jquery文件时,我必须先搜索这个jquery文件id101,然后检查与之关联的事件,这可能是html文件有很多元素和相关事件处理程序的问题.有没有更好的方法来找到这些信息?

解决方法

如果我理解正确,你想避免使用内联Javascript,但你也希望能够浏览一个a并知道它是否有一个绑定到它的事件.不幸的是,没有一种可接受的方式来表示这一点,因为内联Javascript是坏消息.也许你可以给你的元素一个虚拟课程,以帮助你将来的可读性.除此之外,忘记整个func1和func2的事情.只需在点击绑定中使用匿名函数即可.
<a id="some_id" class="optional_has_click">Click Me</a>

<script type="text/javascript">
  $(document).ready(function(){

    $("#some_id").click(function(){

      // do something
      alert( $(this).attr("id") );

    });

  });
</script>

编辑:此外,删除href将删除视觉提示,因此您可以使用您的虚拟类使其看起来像一个.

这是你的小提琴:http://jsfiddle.net/zzTSt/1/

原文链接:https://www.f2er.com/jquery/154031.html

猜你在找的jQuery相关文章