gpt4 book ai didi

jquery - 避免使用 jquery 在某些条件下更改 td bgcolor?

转载 作者:行者123 更新时间:2023-12-01 08:17:28 25 4
gpt4 key购买 nike

嗨,

我有一个包含 16 个 td 标签的表。每个 td 都有鼠标悬停和移出事件,这些事件会更改 td 的背景颜色。但问题是,如果用户单击某个 td,则该 td 标签的背景颜色必须更改为其他颜色,并且对于该 td,不应该发生 mouseout/over 事件。这意味着,td 的背景颜色不应该是已单击的鼠标悬停和鼠标移出事件发生更改...我的代码有什么问题?

这是我的代码......

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<style>

table,table td{
border:1px solid;
}
</style>
</head>

<body>

<table>
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
<tr><td>5</td><td>6</td><td>7</td><td>8</td></tr>
<tr><td>9</td><td>10</td><td>11</td><td>12</td></tr>
<tr><td>13</td><td>14</td><td>15</td><td></td></tr>
</table>
</body>

<script>
$(document).ready(function(){

$('table td').mouseover(function(){
if($(this).selected!='X')
$(this).css({'background-color':'#ffff66'});
});

$('table td').mouseout(function(){
if($(this).selected!='X')
$(this).css({'background-color':'#fff'});
});

$('table td').click(function(){
$(this).css({'background-color':'#6666ff'});
$(this).selected='X';
});

});
</script>
</html>

最佳答案

“点击”发生后,必须解除“mouseover”和“mouseout”的绑定(bind)

您的点击处理程序应该是这样的 -

 $('table td').click(function(){
$(this).css({'background-color':'#6666ff'});
$(this).unbind('mouseout');
$(this).unbind('mouseover');
});

或者更好的是这样 -

$('table td').click(function(){
var td = $(this);
td.css({'background-color':'#6666ff'});
td.unbind('mouseout');
td.unbind('mouseover');
});

有关取消绑定(bind)的更多信息 here

也就是说,如果您像这样设置并访问索引为零的“所选”,您的代码仍然可以工作 -

$(this)[0].selected='X'

$(this) 每次都会返回一个新的数组对象。

关于jquery - 避免使用 jquery 在某些条件下更改 td bgcolor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9602314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com