我正在使用jquery代码进行键盘控制。当我按下键盘时,黄色块将跳转到下一个块。我试图找出如何使用名为'span0hr'的类检查'row2'的元素然后做一些事情。
if (event.keyCode == 37)
{ //left
if(parseInt(current_row) <= 1)
{
return false;
}
for(var i=2; i< parseInt(current_row);i++ )
{
var yellowbgnextdivwidth1 = $(".div_"+current_col+'_'+i).css( "width");
var yellowbgnextdivwidthsplit1 = yellowbgnextdivwidth1.split("px");
totalwidth_current1=parseInt(totalwidth_current1)+parseInt(yellowbgnextdivwidthsplit1[0]);
}
var currentrowleft = $(".rowSubPgm div.pgmFirstRow:first").css( "margin-left").split("px");
currentrowleft1 = currentrowleft[0].split("-");
currentrowleft2 = currentrowleft1[0].split("-");
if(typeof(currentrowleft2[1])!= "undefined")
currentrowleft1 = currentrowleft2[1];
if(typeof(currentrowleft1[1])!= "undefined")
currentrowleft = currentrowleft1[1];
else
currentrowleft = currentrowleft[0];
var currentdivwidth = yellowbg.css( "width").split("px");
//alert("-"+(parseInt(currentrowleft)-parseInt(currentdivwidth))+"px");
if(current_row == 2 && currentdivwidth[0] == 517)
{
current_row--;
}
else if(current_row == 2 && currentdivwidth[0] == 250)
{
$('.span1hrfor30mins').each(function(i,e)
{
if($(e).hasClass('row2') && $(e).hasClass('span1hrfor30mins'))
{
$('.rowSubPgm').css( "margin-left", "-"+(rowwidth)+"px" );
$(e).attr('row2'); $(e).removeClass('span1hrfor30mins').addClass('span1hr');
}
});
if($(e).hasClass('span0hr'))
{
alert("let do something");
}
}
if(current_row > 2 && currentdivwidth[0] > 250)
{
current_row--;
}
}
麻烦在于此代码中的某处:
if($(e).hasClass('span0hr'))
{
alert("let do something");
}
当我按下键盘上的左箭头按钮时,它应该用一个名为'span0hr'的类检查'rows2'的元素然后做一些事情,但代码发生的事情是它没有做任何事情。它根本不检查元素,我想我已经使用了不正确的if语句来检查元素。
有没有人知道如何使用名为'span0hr'的类检查名为'rows2'的元素?
答案 0 :(得分:0)
确保将处理程序附加到onkeydown或onkeyup事件。所有浏览器上的控制键都没有引发onkeypress事件。