Jquery 多个下拉列表';s并单击样式设置问题
我知道添加这个问题对任何人来说都是一个遥远的机会,因为我必须费力地阅读我所有的JQuery脚本来解决我目前遇到的任何问题,但是我不知道还有什么地方可以看 实时查看: 我最近实现了一个下拉列表,因此当您实现另一个下拉列表时,您可以有多个下拉列表,只需稍作修改,但是我在执行以下操作时遇到一些问题:Jquery 多个下拉列表';s并单击样式设置问题,jquery,Jquery,我知道添加这个问题对任何人来说都是一个遥远的机会,因为我必须费力地阅读我所有的JQuery脚本来解决我目前遇到的任何问题,但是我不知道还有什么地方可以看 实时查看: 我最近实现了一个下拉列表,因此当您实现另一个下拉列表时,您可以有多个下拉列表,只需稍作修改,但是我在执行以下操作时遇到一些问题: 单击输入字段后: 另一个输入字段在鼠标悬停效果上松开 将鼠标悬停在所选输入字段的下拉列表上时,样式将恢复 单击一个输入字段时,它是下拉列表,除了下拉内容之外的任何位置,然后单击另一个输入字段都会被破
- 单击输入字段后:
- 另一个输入字段在鼠标悬停效果上松开
- 将鼠标悬停在所选输入字段的下拉列表上时,样式将恢复
- 单击一个输入字段时,它是下拉列表,除了下拉内容之外的任何位置,然后单击另一个输入字段都会被破坏
蒂姆你说得对,这里发生了很多事情 1) 为什么mousedown和click事件处理程序在同一个选择器上执行相同的操作 2) 代替mouseover和mouseout,我可能会使用hover,或者仅当您所做的只是修改CSS时才尝试使用CSS 3) var状态=假;第85行是全局的,不能由多个对象唯一使用。如果需要对单个元素设置某些状态属性,请改用该元素的数据属性 4) 请记住,在使用jQuery时,您通常要处理一组匹配的元素,而不仅仅是一个。因此,您需要确保处理的是您想要的一个元素 5) 仅举一个示例,说明如何编写代码的一部分: 而不是:
$('.Row1 input:text').mouseover(function () {
var thisParent = $(this).parent().attr("id");
if (!FZTxtInputState) {
$("#" + thisParent + " .DropBtn").css({
我想:
$('.Row1 input:text').mouseover(function () {
if (!FZTxtInputState) {
$(this).closest(".DropBtn").css({
这并不能解决您所有的问题,但我至少可以看到您正在尝试学习jQuery 无法访问链接!感谢您指出@tymeJV+1您在box.html第82行有一个javascript错误。你用的是“lert”而不是“alert”。谢谢@Lowkase,这本应该被注释掉的。它解决了问题吗?或者您仍然获得了所描述的输出?+1我最初确实尝试主要使用CSS/CSS3,但是如果您注意到当您将鼠标悬停在输入上时,它也会改变下拉按钮样式,并出现其他问题,而使用JQuery,我取得了更大的进步。mousedown事件是因为我希望样式在单击时不会立即显示,并且我确实尝试使用.closest(),但是我无法使其正常工作。关于全局事件,我需要它是全局的,以便从函数传递,我不相信这会在任何地方发生冲突,它只是改变?最好的问候,TimWell,我看到的是如果(!state)在像$('.DropBtn')这样的处理程序上。如果$('.DropBtn')可以处理页面上的多个元素,那么设置一个全局变量来处理它将不起作用。您将需要检查元素的一个属性,该属性对于该元素是唯一的。啊,我现在知道您是从这个变量来的!我将有一个小游戏,看看我目前的经验是否可以解决点击率。由于建议,我已重新启动。