jquery লাইভ হোভার


161

আমরা কেবলমাত্র আমাদের মাউস দিয়ে ঘুরে বেড়াচ্ছি কেবল টেবিল সারিগুলির জন্য প্রাসঙ্গিক মুছুন বোতামটি দেখানোর জন্য আমি নীচের jquery কোডটি ব্যবহার করছি। এটি কাজ করে তবে উড়ে Js / ajax এর সাথে যুক্ত করা সারিগুলির জন্য নয় ...

লাইভ ইভেন্টগুলি দিয়ে এই কাজ করার কোনও উপায় আছে?

$("table tr").hover(
  function () {},
  function () {}
);

উত্তর:


245

jQuery 1.4.1 এখন সরাসরি () ইভেন্টগুলির জন্য "হোভার" সমর্থন করে তবে কেবলমাত্র একটি ইভেন্ট হ্যান্ডলার ফাংশন সহ:

$("table tr").live("hover",

function () {

});

বিকল্পভাবে, আপনি দুটি ফাংশন সরবরাহ করতে পারেন, একটি মাউসেন্টেরের জন্য এবং একটি মাউসলেভের জন্য:

$("table tr").live({
    mouseenter: function () {

    },
    mouseleave: function () {

    }
});

এটি এখনও আমার পক্ষে কাজ করে না। আমি এটি করার চেষ্টা করেছি: আমি কোথায় ভুল করছি? > $ ('টেবিল টিআর')। লাইভ ('হোভার', ফাংশন () {$ (এটি) .ফাইন্ড ('। মুছে ফেলা')। টগল ();});
শ্রীপদ ​​কৃষ্ণ

1
এটি ভুল এবং কাজ করে না। "একাধিক ইভেন্টস" শিরোনামটির জন্য ডকুমেন্টেশনের অধীনে দেখুন live: api.jquery.com/live
জেসন

34
JQuery 1.4.2 হিসাবে, .live ("হোভার") .live ("মাউসওভার মাউসআউট") এর সমতুল্য, নয়। লাইভ ("মাউসেন্টার মাউসলেভ") - bugs.jquery.com/ticket/6077 দেখুন , তাই করুন। লাইভ ("মাউসেন্টার মাউসলেভ", ফাংশন ()) ...}), বা লাইভ ("মাউসেন্টার", ফাংশন () {...})। লাইভ ("মাউসলেভ", ফাংশন () {...})
এএম

2
আপনাকে ধন্যবাদ @ এ্যাম, এটি আমার জন্য কাজ করেছে: $ ("টেবিল টিআর")। লাইভ ("মাউসেন্টার", ফাংশন () {...})। লাইভ ("মাউসলেভ", ফাংশন () {...});
জ্যাকোকনর

3
অনুযায়ী JQuery .liveডকুমেন্টেশন পৃষ্ঠাটিতে এটি ব্যবহার করতে বলেছেন .onপরিবর্তে। "JQuery 1.7 হিসাবে .live () পদ্ধতি অবমূল্যায়ন করা হয়েছে। ইভেন্ট হ্যান্ডলার সংযুক্ত করতে .on () ব্যবহার করুন।"
জনতান্ত্রিক

110
$('.hoverme').live('mouseover mouseout', function(event) {
  if (event.type == 'mouseover') {
    // do something on mouseover
  } else {
    // do something on mouseout
  }
});

http://api.jquery.com/live/


আমার জন্যও কাজ করেছেন। +1 মাউসওভার এবং মাউসেন্টার উভয় দিয়ে ফিলিপের সংস্করণ করার চেষ্টা করেছিল - দু'টিই কাজ করেনি। কিন্তু এই এক করেছে। ধন্যবাদ!
eduncan911

.liveএখন হ্রাস করা হয়েছে, প্রতিস্থাপন পদ্ধতির জন্য এখন আন্দ্রে-এর উত্তর দেখুন।
উদ্যোক্তা

1
এখানে ব্যবহার mouseoverএবং mouseoutইভেন্টগুলির ফলে কোডটি অবিচ্ছিন্নভাবে আগুন লাগায় কারণ ব্যবহারকারী মৌলটির অভ্যন্তরে মাউসটি ঘুরিয়ে দেয়। আমি মনে করি mouseenterএবং mouseleaveআরও উপযুক্ত কারণ এটি প্রবেশের পরে কেবলমাত্র আগুন লাগবে।
উদ্যোক্তা 25'13

60

.live() jQuery 1.7 হিসাবে অবচিত করা হয়েছে

.on()পরিবর্তে ব্যবহার করুন এবং একটি বংশধর নির্বাচনকারী নির্দিষ্ট করুন

http://api.jquery.com/on/

$("table").on({
  mouseenter: function(){
    $(this).addClass("inside");
  },
  mouseleave: function(){
    $(this).removeClass("inside");
  }
}, "tr");  // descendant selector

6
এটি jquery 1.9 হিসাবে নির্দোষভাবে কাজ করে works সমস্ত লাইভ এবং প্রতিনিধি সমাধান বাতিল করা হয়! কেউ যদি গৃহীত উত্তরটি গ্রহণ না করে এবং পরিবর্তে এই উত্তরটি গ্রহণ করতে পারে তবে দুর্দান্ত লাগবে।
জ্যাশা

5

JQuery 1.4.1 হিসাবে, হোভার ইভেন্টটি কাজ করে live()। এটি মূলত কেবল মাউসেন্টার এবং মাউসলেভ ইভেন্টগুলিকে আবদ্ধ করে, যা আপনি 1.4.1 এর পূর্ববর্তী সংস্করণগুলির সাথে করতে পারেন:

$("table tr")
    .mouseenter(function() {
        // Hover starts
    })
    .mouseleave(function() {
        // Hover ends
    });

এর জন্য দুটি বাঁধাই প্রয়োজন তবে পাশাপাশি কাজ করে।


5

এই কোডটি কাজ করে:

    $(".ui-button-text").live(
        'hover',
        function (ev) {
            if (ev.type == 'mouseover') {
                $(this).addClass("ui-state-hover");
            }

            if (ev.type == 'mouseout') {
                $(this).removeClass("ui-state-hover");
            }
        });

2
"ইউআই-স্টেট-হোভার" কী? এটি ব্যবহারকারীর আসল প্রশ্নের ক্ষেত্রে কীভাবে প্রযোজ্য?
ইগোরগানাপলস্কি

2

সতর্কতা: হোভারের লাইভ সংস্করণ সহ একটি উল্লেখযোগ্য পারফরম্যান্স পেনাল্টি রয়েছে। এটি IE8 এর একটি বৃহত পৃষ্ঠায় বিশেষত লক্ষণীয়।

আমি এমন একটি প্রকল্পে কাজ করছি যেখানে আমরা এজেএক্সের সাথে মাল্টি-লেভেল মেনুগুলি লোড করি (আমাদের কারণ রয়েছে :))। যাইহোক, আমি হোভারের জন্য লাইভ পদ্ধতিটি ব্যবহার করেছি যা ক্রোমে দুর্দান্ত কাজ করেছে (আই 9 ঠিক আছে, তবে দুর্দান্ত নয়)। যাইহোক, আই 8 এ এটি মেনুগুলি কেবল ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে।

ইভেন্টগুলি লোড করার পরে সরাসরি বাঁধাইয়ের ফলে পর্যাপ্ত কর্মক্ষমতা ঘটে।


2
দরকারী, কিন্তু একটি উত্তর চেয়ে আরও একটি মন্তব্য।
মাইকমেকানা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.