0

JavaScriptのを使用してタスクペインの単語ア​​ドインを開発中です。以下のコードを使用して関数を使用して動的にjQueryダイアログボックスを作成しました。初めてダイナミックjqueryダイアログボックスを開くときに、ページが自動的に先頭に戻る

function myConfirm(dialogText, okFunc, cancelFunc, dialogTitle) { 
     $('<div style="padding: 10px; max-width: 500px; word-wrap: break-word;">' 
           + dialogText + '</div>').dialog({ 
      draggable: true, 
      modal: true, 
      resizable: false, 
      width: 'auto', 
      title: dialogTitle || 'Confirm', 
      minHeight: 75, 
      position: { 
       my: "center", 
       at: "center", 
       of: window 
      }, 
      buttons: { 
       OK: function() { 
        if (typeof(okFunc) == 'function') { 
         setTimeout(okFunc, 50); 
        } 
        $(this).dialog('destroy'); 
       }, 
       Cancel: function() { 
        if (typeof(cancelFunc) == 'function') { 
         setTimeout(cancelFunc, 50); 
        } 
        $(this).dialog('destroy'); 
       } 
      } 
     }); 
    } 

しかし、私はそれをmyConfirm機能を呼び出すための最初の時間を開いたときに、ページのスクロールがトップになり、私はそれが再びトップにスクロールを送信]ダイアログボックスをクリックしてスクロールダウンしたときに、私は再びスクロールダウンする必要があります今、私はダイアログボックスのボタンをクリックすることができます。それは最初の後に正常に動作します。

私は動的にボタンをクリックするので、ボックスと機能のテキストを動的に設定する必要があります。私はInternet Explorerでもテストしていますが、うまくいきます。

アドイン用に修正する方法を教えてください。

答えて

0

あなたはあなたの関数を呼び出しているときには、コードの下に試すことができます: -

onclick="myConfirm();return false;" 

だけ追加 "return false;" をあなたの関数名の後に上記のように。

編集1: -

それとも、同様にあなたの関数からfalseを返すことができます。

編集2: -

$form.show().dialog({ 
       close: function (event) { event.preventDefault(); } 
       resizable: false, 
       etc.... 
      }); 
+0

私はクリックメソッド内でmyConfirmを呼び出しました:$( '#use-design')on( "click"、function(e){e.preventDefault(); myConfirm(params);}); – Amit

+0

ok "return false;を追加するだけです。最後にmyConfirm関数で。 –

+0

私は試したが動作していない。 – Amit

関連する問題