2011-02-03 12 views
0

ajax経由で読み込むことができる要素に対してremoveAttrを使用する必要があります。 live()で自動的にイベントをバインドする方法と同様に、これを自動的に行う方法はありますか?jQuery live()for removeAttr()?

注:私はajax呼び出しを行っているJavaScriptライブラリを制御できません。

$.ajax({ 
    // your details 
    success: function(html){ 
    $('a', html).removeAttr('title'); 
    $('body').append(html); 
    } 
}); 

更新:あなたはドンが」

答えて

4

+0

元の質問をBOLDで更新しました。 –

+0

よろしくお願いいたします。仮定 - ajaxはフォーム入力をクリックすると実行されます。 あなたの未知のajaxを引き起こす可能性のあるすべてのイベントにバインドし、 '$( "mySelector")を含めます。trigger( "myRemoveAttrEvent"); 'それらの html 4イベント: [link] http://www.w3schools.com/tags/ref_eventattributes.asp – DefyGravity

+0

太字のQに対応した@Brian変更されたソリューション – DefyGravity

2

は、あなたが探していることはあなたのAJAX呼び出しのsuccessコールバックになり、これらの要素がロードされている時、でこれを処理することですAJAX呼び出しを行っているものを制御し、フックやコールバックを提供しない場合は、このアクションを実行するためにバインドする別のイベントを見つける必要があります。これらの要素がページに挿入されているとあなたも一緒にやっているまさに、あなたがこの(単なる推測)のようなdelegateを使用することができるかもしれない方法に応じて:

$('body').delegate('p', 'load', function(){ /* remove attr */ }); 

を私は知りませんDOMまたは単一の要素が変更されたときにトリガーされるイベント。 loadを試すことができますが、AJAXが読み込まれて挿入された要素の場合は呼び出されないと思います。これは今とあなたの「望ましくない属性」を持って、将来的にすべての要素の新しいイベントを作成し、次の我々はそれをトリガーます

$.ajax({ 
    ...... 
    complete:function(){ 
    $('selector').removeAttr('attribute here'); 
    } 
}); 
+0

+1を変更downvoteに値するものではありません。 – Sarfraz

+0

元の質問をBOLDで更新しました。 –

+0

新しい情報に基づいて更新されました。 – coreyward

3

あなたはこのような$.ajax要求のcompleteオプションを使用することができます火事と仕事をする。成功しのAJAX呼び出しの機能上の

$("mySelector").live("myRemoveAttrEvent", function(event){ 
    $(this).removeAttr("myAttr"); 
}); 

// quick jQ ajax, the important part is on success 
$("div").load("url", function(data, status, xhr){ 
    ..do work.. 
// this is the important part 
    $("mySelector").trigger("myRemoveAttrEvent"); 
}); 

あなたはすべてのAJAXのコントロールを持っていない場合、あなたはAjaxが発射する原因ユーザーイベントにピギーバックする必要があります...この汚れている:火災にあなたが手に負えないAJAX原因だと思う //イベント、例えば

$("*").change()(function(event){ 
     $("mySelector").trigger("myRemoveAttrEvent"); 
}); 
+0

これは、 'ajaxComplete'を呼び出すときに読み込まれていない要素に対して' removeAttr'を実行したいので、これはうまくいかないと思うので、jQueryはその知識がありません。また、 'complete'は要求がエラー(そして新しい要素がない)になっても起こるので、悪い選択です。 – coreyward

+0

@coreyward:彼は 'complete'か' success'を使いたいかどうかはOPまでです。それは、要求がエラーまたは成功で完了するかどうかを実行するアクションの種類によって異なります:) – Sarfraz

+0

真剣に私の応答をピギーバックしてdownvoteでしたか? – coreyward