我有一个php foreach
,可以使用类.like-button1,2,3,4..
生成div并生成更多表单form1,2,3,4..
。
目标是当用户点击“喜欢”时,div会显示短信:
“你喜欢:www.facebook.com/ferrari”
该脚本正常工作,但.hover
功能不是我真正想要的,因为如果您点击like-button1
div中的第一个,然后继续第二个div,则会显示短信在那第二个div。
我找不到正确的方法来识别正确的div,如果你点击div中的类似like-button1
显示文本消息并在该div中提交表单,而不必避免脚本只是悬停一个其他div。
感谢所有人。
FB.Event.subscribe('edge.create', function (response) {
$(".like-button1").hover(function() {
$(".like-button1").text('Ti piace: ' + response);
$("#form1").submit();
});
$(".like-button2").hover(function() {
$(".like-button2").text('Ti piace: ' + response);
$("#form2").submit();
});
$(".like-button3").hover(function() {
$(".like-button3").text('Ti piace: ' + response);
$("#form3").submit();
});
});
答案 0 :(得分:2)
而不是使用唯一类,您可以这样做:
向div添加一个名为data-target=""
的新属性,其中包含要提交的表单的ID。
即。
< div class="like-button" data-target="form1" >< /div>
然后javascript将如下所示:
FB.Event.subscribe('edge.create', function (response) {
var formId = $(this).attr('data-target');
$(".like-button").text('');
$(this).text('Ti piace: ' + response);
$("#"+formId).submit();
});
这将清除所有类.like-button中的文本,并将文本添加到单击的文本中。提交带有data-target=""
属性中传递的ID的表单。