我有以下jquery代码:
$(function() {
$('.sliding-buttons').click(slidingContent);
});
function slidingContent(e) {
var boxID = $(this).attr('id'),
boxName = $(this).attr('name');
$('.sliding-holder#s-h-' + boxName).css({'display' : 'block'}).addClass('open');
$('.sliding-content#s-c-' + boxName + '-' + boxID).css({'display' : 'block'}).addClass('open');
$('.sliding-box#s-b-' + boxName).stop(true, true).animate({
top:'0'
},'slow');
e.stopPropagation();
e.preventDefault();
}
除了IE7之外,它在所有浏览器中都有效。在IE7中,它无法阻止传播。
我正在使用最新版本的jquery(1.6.2),但也试过1.5.2。
我真的很茫然;没有尾随的逗号(我可以看到......),我找不到问题。我真的很感激一些帮助!
MTIA。
答案 0 :(得分:1)
我只是猜测......你能用这种方式试试......
$(function() {
$('.sliding-buttons').click(function(e){
var boxID = $(this).attr('id'),
boxName = $(this).attr('name');
$('.sliding-holder#s-h-' + boxName).css({'display' : 'block'}).addClass('open');
$('.sliding-content#s-c-' + boxName + '-' + boxID).css({'display' : 'block'}).addClass('open');
$('.sliding-box#s-b-' + boxName).stop(true, true).animate({
top:'0'
},'slow');
e.stopPropagation();
e.preventDefault();
});
});
或者你需要以这种方式将事件对象传递给被调用的函数 -
$('.sliding-buttons').click( slidingContent(e) );
答案 1 :(得分:0)
如果slidingContent是一个函数,那么您可能希望将其视为函数,通过调用它来使用括号。此外,由于您在slidingContent函数中引用原始事件,您可能需要将事件作为函数参数传递(虽然我从未使用过像您使用过的事件,因此不确定这一点。
$('.sliding-buttons').click( slidingContent(e) );