シンプルな星評価プラグインを作成しています。hover
しかし、このプラグインにイベントを入れるのに問題があります。
jquery、
(function($){
$.fn.extend({
rater: function(options) {
var defaults = {
}
var options = $.extend(defaults, options);
var o = options;
var $this = this;
$this.set_votes = function(object)
{
$(".replacement-radio",object).each(function(){
// Set variables.
var object = $(this);
var object_checked = object.attr('checked');
// Check if the object is checked.
if(object_checked === 'checked')
{
// Change stars.
$(this).next().prevAll('.button-star').andSelf().addClass('button-star-hover');
$(this).next().nextAll('.button-star').removeClass('button-star-hover');
}
});
}
$('.button-star').hover(
// Handles the mouseover.
function() {
$(this).prevAll('.button-star').andSelf().addClass('button-star-hover');
$(this).nextAll('.button-star').removeClass('button-star-hover');
},
// Handles the mouseout .
function() {
$(this).prevAll('.button-star').andSelf().removeClass('button-star-hover');
$this.set_votes($(this).parent());
}
);
// You must call return after declaring the functions.
return this.each(function() {
// Set the object.
var object = $(this);
//alert(object.html());
// Check if the object is present.
if(object.length > 0)
{
// Hide the object and add the star after it.
object.hide();
object.after('<span class="button-star"></span>');
// Attached click event to the button which created after the object.
$('.button-star').click(function(){
// Set the value into the radio button.
var $this_check = $(this).prev().attr('checked', true);
var $this_value = $(this).prev().val();
});
}
});
}
});
})(jQuery);
hover
実際にプラグインでイベントを呼び出す/使用する方法がわかりません。したがって、以下のホバー イベントは、星評価プラグイン内では機能しません。
$('.button-star').hover(
// Handles the mouseover.
function() {
$(this).prevAll('.button-star').andSelf().addClass('button-star-hover');
$(this).nextAll('.button-star').removeClass('button-star-hover');
},
// Handles the mouseout .
function() {
$(this).prevAll('.button-star').andSelf().removeClass('button-star-hover');
$this.set_votes($(this).parent());
}
);
これがjsfiddleリンクです。
どのように機能させるべきですか?