。 func1は、function2がtrueを返す場合にのみ呼び出されます。右 ? jqueryのを学んでjqueryのHREFとonclickの分離
は、私は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れるonmouseover、れるonmouseoutおよび他の多くのようなイベント、onclickを持つことができます意味。多くのそのようなイベントハンドラを持つ多くのそのような要素が存在する可能性があります。どのように私はそれらを見つけるのが良いですか?古いスタイルでは、このようなイベントハンドラはすべて、このようにまとめられます。
<a id="id101" href="javascript:func1();" onclick="return func2();">Link</a>
これはいいですが、少なくとも私はこのonclickイベントがあることがわかります。しかし、これをjqueryファイルに分割するときに、id101のjqueryファイルを最初に検索してから関連付けられたイベントをチェックする必要があります。これはhtmlファイルに多くの要素と関連するイベントハンドラを持つ問題です。その情報を見つける良い方法はありますか?
すべての「HREF」ではJavaScriptを置かないでください。イベントハンドラでそれを(条件付きで、必要なら)実行してください。 – Pointy
@endroix:Pointyが言ったように、 'href'属性全体を削除するだけです。インラインJSは悪いニュースです。そして、jQueryセレクタでバインドする場合は、IDを示すために '#'を使用する必要があります。今、あなたのjQueryは何もしないでしょう。 '$("#id101 ")。click();'に変更し、 'href =" x "'全体を削除してください。 – Josh
@ジョシュ、私はそれを忘れた#。今更新された – newcoderintown