JQuery/Javascript-";。单击();方法不完全有效?

JQuery/Javascript-";。单击();方法不完全有效?,javascript,jquery,css,html-table,Javascript,Jquery,Css,Html Table,首先我有一个带有空div的表,使用Javascript和JQuery,我创建了一个works数组,数组中有任何单词,我都将这些单词放入td。这是我的html: <div id="sideBar"> <table id="sideTable"> <tr><td id='row0'></td></tr> <tr><td id='row1'></td></

首先我有一个带有空div的表,使用Javascript和JQuery,我创建了一个works数组,数组中有任何单词,我都将这些单词放入td。这是我的html:

<div id="sideBar">
 <table id="sideTable">
        <tr><td id='row0'></td></tr>
        <tr><td id='row1'></td></tr>
        <tr><td id='row2'></td></tr>
        <tr><td id='row3'></td></tr>
        <tr><td id='row4'></td></tr>
        <tr><td id='row5'></td></tr>
        <tr><td id='row6'></td></tr>
        <tr><td id='row7'></td></tr>
        <tr><td id='row8'></td></tr>
    </table>
</div>
然后Javascript将隐藏第3行直到第8行,三个标题将分别输入第0行、第1行和第2行。td的大小为一行中最长的td。这部分代码有效!我还有两个Javascript函数,一个用于悬停在td上,另一个用于单击td时。当您将鼠标悬停在td上时,Javascript的启动方式如下

$('#sideTable td').hover(
$('#sideTable td').click( function() {
在点击td的地方,Javascript是这样开始的

$('#sideTable td').hover(
$('#sideTable td').click( function() {
问题是,当你将鼠标悬停在单词上时,鼠标悬停功能是完美的,但是当我点击td时,即使td的宽度很长/td中有很多信息(比如td中的信息很长,以至于td的宽度变成200px),它也只允许你点击td的第一个,我认为是85px。太奇怪了。即使我这样做了

#sideBar td {
    width: 120px;
}
把每个td的宽度设为120px,它仍然只允许我点击td的前85px。悬停是完美的,当我在td上悬停时,不管我在哪里悬停(不管它是否在td的前85像素内),也不管td有多长,悬停功能都能完美地工作和执行。然而,由于某些原因,单击功能只允许我在标题的前85px左右的范围内单击。为什么会这样

注意:即使我尝试使用Javascript设置td的宽度,如下所示

$('td').css('width','200');
它仍然只允许我点击td的前85像素。如果我将鼠标悬停在td的其余115px上,光标甚至不会变成指针。由于某种原因,它不会再确认那里有一个td

CSS是这样的

    #sideBar td {
    font-size: 12px;
}

#sideBar {
    position: absolute;
    top: 90px;
    font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
}

还要注意的是,我使用的是I.E8,而不是CSS3,我写的JS很多,非常混乱,所以如果我上传它,这个线程会被否决。JS并没有真正影响TD的宽度或任何东西,只是“如果TD悬停,那么做所有这些,如果TD单击,那么做这些”。问题不在于JS代码,而在于“if td is clicked”仅适用于td的前85px左右,无论td是否长于此值。

尝试编辑CSS以处理溢出:

overflow-wrap: break-word
overflow-x: visible

听起来像是CSS问题,而不是jquery问题。检查元件,看看鼠标是否能在td的整个宽度上移动。

您应该提供更多信息。CSS和JS。当涉及到诊断时,查看代码比阅读预期和经验行为的小说更有帮助。正如kraxor所说,我们需要更多的信息,但我的猜测是,有一些信息与tds重叠,因此当你点击时,事件没有到达tds。我上传了CSS,里面有很多JS,非常混乱,所以如果我上传的话,这个帖子会被否决。JS实际上并不影响TD的宽度或任何东西,它只是“如果TD悬停,那么做所有这些,如果TD单击,那么做这些”。此外,如果有区别的话,我使用I.E8而不是CSS3@ᾠῗᵲᄐᶌ 嗯,由于某些原因,我无法查看工作时填写的JS,我回家后会查看。。有没有办法修补这个问题而不是解决它?例如,有没有一种方法可以告诉Javascript,td右侧的td+20px中的所有内容都应该是可点击的?CSS的作用是什么#侧边栏或#侧边栏td或#侧边栏tr?是的,我很确定这不是一个JS问题。我的JS基本上只是“如果td被悬停,做所有这些,如果点击,做所有这些”。哦,老兄,那是CSS3吗?我没有使用CSS3。它是为一家公司设计的,该公司不使用CSS3,仍然只使用IE 8。因此,无论使用何种浏览器,“溢出”和“溢出包装”都应该可以。尝试此操作-如果在Chrome中,右键单击tr标记并点击inspect元素。然后转到源代码,将鼠标悬停在td标签上,它将显示何时何地被切断。因此,您的CSS将反映这一点,请使用overflow属性提供帮助。嗯,不,这仍然不起作用,即使有卷轴,它仍然会出现同样的问题。