0
if( $("div:last").is(":visible") ) {
    $("p").css("color", "red");
}

为什么脚本不能正常工作?

http://jsfiddle.net/8Rrm2/8/

4

1 回答 1

1

该脚本仅检查其在运行时是否可见。它不检查它是否可见。所以当用户使用右箭头键使其可见时,脚本已经通过并且它仍然不是红色的。您必须将该逻辑移动到您的事件处理程序中。

是一个工作小提琴。我所做的只是剪切并粘贴您的逻辑。

现在,每次用户按下箭头键时,它都会更新按钮并相应地更改颜色。

另外,仅供参考:KnockoutJS有一些很棒的模型绑定工具。几乎无需编写脚本,您就可以让模型和视图模型自动相互更新。箭头键更新您的视图模型值,从而自动在您的视图中创建更改。这真的很值得研究,他们的教程很有趣。

是您的脚本示例,已修改为与 Knockout 一起使用,以防您好奇。在这个例子中,它的代码并没有很多,但我确实认为它更易于阅读和处理“异常情况”。例如,如果您希望它在值 2、5 和 7 上显示为红色,则只需更改名为iAmRed.

于 2012-08-07T12:19:29.723 回答