سوف زر (التعليقات) لا يعمل داخل AJAX، ولكن سوف تعمل بشكل طبيعي

StackOverflow https://stackoverflow.com/questions/1603835

سؤال

والأساس، وهذا هو ما أقوم به. مرة مستخدمي الموقع، والأحمال "index.html و" ضمن index.html و، فإنه يحمل تلقائيا، من خلال AJAX، "details.html" إلى DIV. أنا وضعت على زر (التعليقات) على "details.html". ومع ذلك، لسبب ما، والانقلاب لم ينجح.

وعندما أزور details.html في المتصفح، ويعمل-الانقلاب. انا التخمين انها بسبب AJAX؟

<a class="addthis_button"  href="http://www.addthis.com/bookmark.php?v=250&amp;pub=xa-4adf7e45288f5b21">
<img src="http://s7.addthis.com/static/btn/sm-share-en.gif" width="83" height="16" alt="Bookmark and Share" style="border:0;margin-top:16px;"/></a>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pub=xa-4adf7e45288f5b21"></script>
هل كانت مفيدة؟

المحلول

وإذا فهمت سؤالك بشكل صحيح، في رد وظيفة اياكس، ربط ترحيل إلى الوظيفة الإضافية هذا الزر.

 $.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John&location=Boston",
   success: function(){
     $('.addthis_button').hover(
       function(){
         //do mouse over
       },function(){
         //do mouse out
     });
   }
 });

ويمكنك أيضا محاولة

$('.addthis_button').live('mouseover',function(){//do mouseover});
$('.addthis_button').live('mouseout',function(){//do mouseout});

ولقد استعملت أبدا العيش، ولكن يبدو انها ستعمل بالنسبة لك منذ add_this بك الزر الحصول إنشاؤها بعد $ (الوثيقة) .ready ()

نصائح أخرى

وأنا في الآونة الأخيرة ركض في قضايا باستخدام (التعليقات) على كل موقع AJAX وتمكنت من الخروج مع اثنين من حلول لهذه المشكلة.

وتبين وجود المتغير الذي يمكنك تمرير عند تحميل البرنامج النصي AJAX وكذلك وسيلة لإعادة تهيئة النصي إذا تم إعادة تحميل DOM عبر AJAX. لقد نشرت الحل الكامل بالتفصيل على بلدي بلوق هنا:

HTTP: // joecurlee كوم / 2010/01/21 / كم إلى استخدام (التعليقات)، مع اياكس و-overflowauto /

لتلخيص فترة وجيزة، والحل هو تحميل (التعليقات) مع domready متغير = 1 إلحاق، وإعادة تهيئة النصي عن طريق حذف الحمل الأولي ومن ثم إعادة السيناريو حيوي:

var script = 'http://s7.addthis.com/js/250/addthis_widget.js#domready=1';
if (window.addthis){
    window.addthis = null;
}
$.getScript( script );

وaddthis.toolbox ( "addthis_toolbox.")؛

وران في نفس المشكلة وحلها هذا بالنسبة لي في جميع المتصفحات الرئيسية (IE6 +، FF، وسفاري في MAC / XP):

<وأ href = "http://joecurlee.com/2010/01/21/how-to-use-addthis-with-ajax-and-overflowauto/comment-page-1/#comment-24" يختلط = "نوفولو noreferrer"> http://joecurlee.com/2010/01/21/how-to-use-addthis-with-ajax-and-overflowauto/comment-page-1/#comment-24

ويبدو أن السيناريو تدعو الحدث onLoad من جافا سكريبت وتستخدم هذه الدعوة اياكس لن يؤدي في الواقع هذا الحدث. قد تتمكن من محاولة "حصة هذه" أخرى القطعة؟

http://sharethis.com/#STS=g12m3ugh.21zb أو ما قبل الحمل هذا الزر؟

ويمكنك بعد أكثر قليلا من القصة على ما تفعلون؟

هل details.html صفحة متوافقة تماما على نفسه؟ HTML، هيئة، والعلامات الرأس، وما إلى ذلك؟

وإذا كان الأمر كذلك، أعتقد أن الأمور يمكن الحصول على مجنون من نوع عند محاولة تحميله في صفحة أخرى. وأود أن أي تغيير details.html لتشمل فقط العلامات المجردة التي تحتاجها - أو - إذا كنت في حاجة إليها لتكون تزال متاحة بشكل فردي - هل يمكن استخدام مسج لتجريد من البتات اللازمة بعد المكالمة اياكس وحقن فقط ذلك الجزء

وDetails.html

<html>
<head>
</head>
<body>
    <div id="details">
    The needy bits.......
    </div>
</body>
</html>

وindex.html و

$("#targetDivID").load("detail.html #details");

وإضافة هذه قصاصة من شبيبة إلى هتمل الذي تقوم بتحميله. استبدال "#atbutton" مع محدد الزر الخاص بك.

addthis.button ( "# atbutton")؛
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top