2016-08-23 4 views
0

サイトでヘルプ機能を作成したい。ヘルプの作成jquery/javascript

私にはボタン(ヘルプ)があります。ユーザーがそのボタンをクリックすると、リスナーはユーザーがページ上で次にクリックする場所を聞き、その要素情報を抽出します。

この情報を使用して、別のサイトを検索することができます。

jqueryの新しい

とJavaScriptがこれまでにこれを持って、継続するか

$("#help").on("click", function() { 
    alert($(this).text()); 
}); 
$("#help").trigger("click"); 

はこれで私を助けてください変更する方法がわかりません。

+0

ボタンの値を入力しますか? '$(this).val()' –

+0

あなたの質問を読んでください、少なくとも私、私は理解していません.. –

+0

こんにちは、私はボタン(ヘルプ)があります。ユーザーがそのボタンをクリックすると、ユーザーがページ上で次にクリックする場所を聞いて、その要素情報が必要になります。そのより明確な英語が私の第1言語ではないかどうかは分かりませんのでご容赦ください。 –

答えて

1

この機能を使用する要素が少ない場合は、この方法を使用できます。

ヘルプボタンをクリックすると、ローカル変数blIsHelpActivatedをtrue/falseに設定しておくことができます。ヘルプボタンが有効になっているときは、その変数をtrueに設定できます。無効にした場合はfalseに設定できます。

これで、ページのコントロールのクリックイベントにアタッチできます。あなたがその変数をチェックし、その値が真であれば検索部分を行う必要があります。

var blIsHelpActivated = false; 

$("#help").on("click", function() { 
    // Toggle boolean to identify whether help is activated or not. 
    if(blIsHelpActivated) 
    { 
     blIsHelpActivated = false; 
    } 
    else 
    { 
     blIsHelpActivated = true; 
    } 
}); 

// Code to attach click event on elements. 
$("#yourelementid").on("click", function() { 
    if(blIsHelpActivated) 
    { 
     // Your serarching code goes here. 
    } 
}); 

Altervatively、あなたはそれぞれの要素に共通の単一のクラスを適用することができますし、代わりに各要素にクリックイベントを取り付けるのコード、 の下に使用することができます。

// Code to handle click event on elements. 
$(".yourcommonclassname").on("click", function() { 
    if(blIsHelpActivated) 
    { 
     // Fetch current clicked element, by using $(this) 
     // And further search based on your logic. 
    } 
}); 
+0

答えをありがとう、残念ながら私はこれが複数のページに広がるので、ほとんどの要素を動的に動作するように要求します。 –

+0

別のクラスベースのアプローチを使用する答えを更新しました。それがあなたに役立つことをお読みください。検索可能な要素にクラスを適用することは問題にはなりません。 –

+0

答えとして受け入れられます。 –

0

私はあなたにこのについて移動する方法についていくつかのヒントを提供することができますが、これを行うには、JS/jqueryのを習得する必要があります:ヘルプボタンをクリックするだけで

  1. をするのonclickイベントハンドラをバインドボディータグ。
  2. クリックが検出されたら、ターゲット要素を見つけて、ターゲット要素のテキストを取得します。 (他のアクションを実行したくない場合は、デフォルトを回避することもできます)。
  3. このテキストを使用して検索を呼び出す(使用する予定がある場合は多分ajaxかもしれない)。
  4. このアクションを1回のみバインドする場合は、本文からクリックイベントハンドラのバインドを解除します。または、これをアンバインドするボタンを用意してください。

要素が多くの情報を意味する段落である場合は、ご注意ください。

これが役に立ちます。

関連する問題