val
মূল val
ফাংশনে প্রক্সি দিয়ে প্রতিস্থাপন করে পরিবর্তনটি ট্রিগার করতে আপনি খুব সহজেই ফাংশনটিকে ওভাররাইড করতে পারেন ।
আপনার ডকুমেন্টের কোথাও এই কোডটি যুক্ত করুন (jQuery লোড করার পরে)
(function($){
var originalVal = $.fn.val;
$.fn.val = function(){
var result =originalVal.apply(this,arguments);
if(arguments.length>0)
$(this).change(); // OR with custom event $(this).trigger('value-changed');
return result;
};
})(jQuery);
একটি কাজের উদাহরণ: এখানে
(দ্রষ্টব্য এই সবসময় আরম্ভ হবে যে change
যখনval(new_val)
মানটি আসলে পরিবর্তিত হয় না এমনকি যদি ডাকা হয় এটি ))
যদি মানটি আসলে পরিবর্তিত হয় তবে আপনি যদি কেবলমাত্র এটি পরিবর্তন করতে চান তবে এটি ব্যবহার করুন:
//This will trigger "change" event when "val(new_val)" called
//with value different than the current one
(function($){
var originalVal = $.fn.val;
$.fn.val = function(){
var prev;
if(arguments.length>0){
prev = originalVal.apply(this,[]);
}
var result =originalVal.apply(this,arguments);
if(arguments.length>0 && prev!=originalVal.apply(this,[]))
$(this).change(); // OR with custom event $(this).trigger('value-changed')
return result;
};
})(jQuery);
এর জন্য সরাসরি উদাহরণ: http://jsfiddle.net/5fSmx/1/