-1

複数のページがあるウェブサイトに出くわしました。また、ページがクリックされると、コンテンツが動的に読み込まれます。AJAXが使用されていることは知っていますが、JavaScript関数を呼び出さないとAJAXがどのように機能するかを理解できませんでした。コードは次のとおりです。

<a href="#" class="acted" onclick="return false;">1</a>

<a href="#" onclick="return false;">2</a>

<a href="#" onclick="return false;">3</a>

足りないものはありますか?

4

2 に答える 2

0

「ソースを表示」からそのコードを取得しましたか?その場合、ページが読み込まれるとイベントハンドラーを動的に接続するスクリプトがページで実行された可能性が高いため、生のHTMLのonclickイベントは単なるプレースホルダーである可能性があります。

例:

<html>
<head></head>
<body>
    <div id="main">This text is not clickable and has no action when clicked, but try to click me anyway just in case.</div>
</body>
<script>
    window.onload = function()
            { 
               document.getElementById("main").onclick = function() {
                                    return alert('Actually, I am clickable afterall!');
                                };
            };
</script>
</html>

上記のページには、デフォルトのonclickアクションがない「main」というdivがあります。ただし、ページが読み込まれると、イベント(この場合はwindow.onload)が発生し、コードを呼び出して、IDが「main」のdivのonclick属性に関数をアタッチします。その結果、生のHTMLにデフォルトのハンドラーが含まれていなくても、メインがクリック可能になり、「ソースの表示」を実行するとハンドラーが表示されなくなります(ただし、ブラウザーに開発者ツールがある場合は、接続された状態で表示できる場合があります) )。

これもJSフィドルで提供しています:http://jsfiddle.net/qfazj/2/

(JSFiddleに慣れていない場合は、右下隅にWebページが表示されるので、そこにあるテキストをクリックすると、アラートが発生するはずです。)

于 2013-01-26T14:30:24.373 に答える
0

はい、何かが足りません。完全なコードを見ないと確実に知ることはできませんが、このページではjqueryセレクターを使用してイベントを処理している可能性があります。たとえば、コードは、すべての「a」タグがそれらに関連付けられた特定のjavascript関数を取得することを示している場合があります。または、class = "acted"などのすべて。http ://www.w3schools.com/jquery/jquery_ref_selectors.aspをご覧ください。

于 2013-01-26T14:32:44.983 に答える