-1

www.remindeals.com に近日公開予定のページがあります。

「最初に取得」ボタンをクリックしてメールを送信すると (abc@abc.com などの偽のメールを送信)、モーダル ポップアップにバグがあり、背景が表示されず、ホバーしたときにのみソーシャル アイコンが表示されます。以上。これは、ブートストラップで構築された Rails サイトです。

この問題は IE 9 でのみ発生します。

以下に関連するjqueryを添付しますが、これが役立つかどうかはわかりません。

$('document').ready(function() {

  // display validation errors for the "request invitation" form
  if ($('.alert-error').length > 0) {
    $("#request-invite").modal('toggle');
  }

  // use AJAX to submit the "request invitation" form
  $('#invitation_button').live('click', function() {
    var email = $('form #user_email').val();
    var password = $('form #user_password').val();
    var dataString = 'user[email]='+ email + '&user[password]=' + password;
    $.ajax({
      type: "POST",
      url: "/users",
      data: dataString,
      success: function(data) {
        $('#request-invite').html(data);
        loadSocial();
      }
    });
    return false;
  });

})

// load social sharing scripts if the page includes a Twitter "share" button
function loadSocial() {

    //Twitter
    if (typeof (twttr) != 'undefined') {
      twttr.widgets.load();
    } else {
      $.getScript('http://platform.twitter.com/widgets.js');
    }

    //Facebook
    if (typeof (FB) != 'undefined') {
      FB.init({ status: true, cookie: true, xfbml: true });
    } else {
      $.getScript("http://connect.facebook.net/en_US/all.js#xfbml=1", function () {
        FB.init({ status: true, cookie: true, xfbml: true });
      });
    }

    //Google+
    if (typeof (gapi) != 'undefined') {
      $(".g-plusone").each(function () {
        gapi.plusone.render($(this).get(0));
      });
    } else {
      $.getScript('https://apis.google.com/js/plusone.js');
    }
}

ありがとう!

4

2 に答える 2

1
$('document').ready(function() { <-- Document isn't supposed to be in quotes

正しいやり方はこんな感じ

$(document).ready(function() { //code here });
于 2012-06-15T21:40:56.467 に答える
0

IE で入力フィールドをthankyou.html押すと、ソーシャル統計でモーダルを開く代わりに、ページが に送信されます。Enterこれは、入力フィールドを押して送信するときに#invitation_button'sclickイベントが発生しないためです。Enter

テキストinputsubmitボタンを で囲み<form/>、次を置き換えます。

$('#invitation_button').live('click', function() {

と:

$('form').live('submit', function() {

または、jQuery 1.7.2 を使用している場合:

$('form').on('submit', function() {

また、サイトでホストするのではなく、CDN でホストされている jQuery コピーを使用することを検討することもできます。これにより、ユーザーのキャッシュと読み込み時間が改善されます。

ページの残りの部分は、IE の FF/Chrome と同じように動作するようです。

于 2012-06-15T21:47:57.730 に答える