我正在使用此插件:http://www.fyneworks.com/jquery/star-rating/
是否可以在这样的回调函数中放置一个click函数?
$('.auto-submit-star').rating({
callback: function(value, link){
$('.myclass').click(function(){
alert($(this).attr('id'));
});
alert($(this).attr('id'));
}
});
添加点击功能后,回调功能将停止工作。我需要这样做,因为如果用户点击任何星星,我可以获取星号的ID,但如果用户点击取消按钮,我就无法以某种方式获取取消的ID。
假设你可以在回调中使用点击功能,它是否仍会触发它?因为在你点击之后它会触发回调,它是否仍会触发我的点击功能?
如果我保持单击功能,单独的东西仍然可以工作,但是我必须在两个函数中重复一堆代码。
答案 0 :(得分:2)
尝试使用实时处理程序
$(".myclass").live("click", function(){
alert($(this).attr('id'));
});
答案 1 :(得分:2)
为了防止在单击时发生多个操作,您需要在添加新事件之前销毁先前的事件(否则它们只会叠加在一起)。为了摧毁(即杀死)一个事件,你需要:
$('.auto-submit-star').rating({
callback: function(value, link){
$(".myclass").die("click").live("click", function(){
alert($(this).attr('id'));
});
}
});
或者(并且最好),不要在回调中附加click事件...单独执行。
$(".myclass").live("click", function(){
alert($(this).attr('id'));
});
$('.auto-submit-star').rating()
祝你的项目好运。
答案 2 :(得分:0)
您是否考虑过使用jQuery的.live(type,fn)事件而不是绑定回调上的点击?