dポイントプレゼントキャンペーン実施中!

色々と簡略化してますが、以下のようなajaxを交えたコードを書いています。

<script type="text/javascript">
$(function()
{
/* 初期変数処理 */
............
/* HTML内object操作 */
............
/* ある箇所をclickでイベント */
$('#hoge').click(function(e) ←(1)画面アニメーション
{ test3(); }
/* 数秒後に(1)を自動実行
setInterval(function(){ ...... }
/* formを使って検索 */
$('#form').submit(function(event) {
event.preventDefault();
........(中略)
$.ajax({
type:"POST",
url: "hoge.php",
data:{data: data},
timeout: xxxxx,
beforesend: { ........ },
complete: { ........ }
success: function(data){
......... ← (2)HTML内object操作、jquery部分は避ける
test2();
}
});
return false;
});

function test1(){ ........ };
function test2(){ ........ };
function test3(){ ........ };
});
</script>

[HTML]
<form id = "form">
<input name="list"/>
<button>送信!</button>
</form>

<div id="hogehoge">
................. ←(3)検索で内容変更する箇所
</div>

としているのですが、一度送信ボタンを押して(2)の処理を行った後、
(1)のアニメーションも含め、すべてのjquery要素が使用できなくなってしまいました。
http://semooh.jp/jquery/api/events/live/type,+fn/
によればliveを使えばclick処理はできるとありましたが、これでも動きません。
setIntervalの効果や、submitイベントすら動きませんでした。

なお、検索前は問題なく動作します。通常時は問題ないのですが、submit後からおかしいので、
ajaxに関してなにか見逃している箇所があるとは思うのですが、
どこが悪いのかはっきりと検討がついていません。

どなたかお知恵をお貸しいただけませんでしょうか。宜しくお願いします。

A 回答 (2件)

liveはどっかのバージョンからonに変わってます。

    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

他サイトも参照しつつ、onを使用することで全ての問題が解決できました。
勉強不足で申し訳ありません。

お礼日時:2014/05/22 14:05

#1さんの回答通りですね。


jQueryのバージョンを1.8.3にすれば問題なく動作すると思います。

Web上に流通しているプラグインや、ノウハウサイトの情報は、メンテナンスされていないものはほとんど1.9.x以降で使えません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

参考サイトを確認するといくつか分かれていたbind系のAPIを統合していたのですね・・・
サンプルやリファレンスサイトを確認する際も、今後はバージョン等も気をつけるよういたします。

お礼日時:2014/05/22 14:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!