0


0

私は簡単な単一ページ設定をしています。 ルートフォルダの下に、3つのサブフォルダ(js、css、およびimages)があります。 ルートフォルダには、次の内容のindex.htmlページがあります。

クリック!

myscript.jsには次のコードが含まれています。

$( 'a.doSomething')。クリック(function(){
//Do Something here!
警戒( 'あなたは何とかした、ウーフー!'); ;));

リンクをクリックしても何も起こりません。 何が足りないの?

2 Answer


10


document.readyをコードの周りにラップします。

$(document).ready(function() {
    $('a.doSomething').click(function(){
        //Do Something here!
        alert('You did sometihng, woo hoo!');
        return false; // return false to prevent default action
    });
});

今のところ、DOMにまだ存在していない要素にイベントをバインドしようとしています。

また、jQueryの要点は、これらのいインラインイベントをそこから取り出して、JavaScriptできれいにバインドできるようにすることであるため、リンク自体に `+ onclick +`がある理由はわかりません。 あなたがこれをするならば:

yay click me

そして上記のコードを使用して、それはうまく動作するはずです。


0


最初は "doSomething"という名前の関数が足りないと思いました。 それから私はあなたのセレクタがとにかくアンカータグを見つけることを期待するところであなたに気付きました。 しかし、それは起こりません。 スクリプトが実行される時点では、アンカーはまだDOMに追加されていません。