我的问题是浏览器窗口垂直滚动条被删除,例如overflow:hidden; 当页面稍后重新出现时,会使页面跳转。 我使用jQuery从访问者中删除滚动选项,同时脚本正在运行并将页面滚动到特定点,然后再次重新出现: www.nebulafilm.dk/index.html?content 我可以为滚动条创建一个占位符,当它不存在时,它不会跳回来吗? 或者是否可以“禁用”它并使其“灰显”? 我通过搜索找不到任何解决方案。 我在这里找到了类似的东西: stackoverflow.com滚动条总是在那里。 但不同之处在于,即使页面长于窗口,滚动条也必须保持禁用状态。 它必须只能通过我控制的另一个脚本再次“打开”。 这有可能吗? 谢谢。 更新: 状态更新的时间。 我在星形云背景图像上遇到了一些问题,这个图像是在body标签上设置的。 当jQuery脚本(来自cwolves回答)将填充添加到html标记并因此应该将页面上的所有元素推到左侧时,背景图像仍然表现不正常。 好吧,我发现body元素没有像任何div元素那样反应。 它不仅仅是html标签内的“块”,就像任何其他块元素一样。 它有自己的行为,显然不能以同样的方式被欺骗。 因此,背景图像是不可能触摸的,而它是在body 。 但我花了一些时间才意识到…… 解决这个问题的最终解决方案是如此简单,以至于我在发现时几乎流泪,想着无尽的(我可能会夸大一点)时间来调查body 。 我只需将所有内容都包装在 然后将其作为背景图片。 突然间,一切都落到了位置。 从: … 和 body {background-image: url(…);} 至: … 和: #body {background-image: url(…);} 对body明智一点。 不再“跳”了。 美味的。 效果现在已经完全运行,您几乎没有注意到滚动条的变化,每个细节都适合。 Cwolve的脚本是完美的,并进行精确计算: function getScrollBarWidth(){ var div = $(” + new Array(100).join(‘content’) + […]
我有很多带有一些文本输入的模板,如下所示: 当用户单击该字段时,客户端要求我隐藏占位符值(示例中的关键字)。 我不知道如何用JS和JQuery做到这一点。 有没有办法通过crossbrowser解决方案实现这一目标?
我惊喜地发现以下代码在Chrome中查看时会呈现一个日期选择器: 但是,将忽略占位符文本,而是显示“日期/月/年”。 如何更改占位符文本并使用我自己的文本? 我已经尝试过了: $(“#wdate”).attr(“placeholder”, “Day/Month/Year of purchase”); 但无济于事。
我想在JSF / Primefaces inputText组件中显示默认的信息性文本。 当用户单击“文本”字段时,此文本应消失。 当他在没有打字的情况下点击外面时出现。 如果用户提交的表单没有任何值,则不应将此默认值设置为Bean的属性。 我知道在ManagedBean中将默认值设置为BeanProperty会有效,但我不希望这样。 如果可能的话,请建议任何JQuery调整。 如果此问题是重复,请将我重定向到问题。
我正在使用jQuery UI自动完成combobox小部件。 当我在我的combobox中添加占位符时,默认情况下会打开自动完成框。 这仅在IE10及更高版本上发生。 这是我的代码: _create: function () { this.wrapper = $(“”) .addClass(“custom-combobox”) .insertAfter(this.element); this.element.hide(); this._createAutocomplete(); this._createShowAllButton(); this.input.attr(“placeholder”, this.element.attr(‘placeholder’)); },
如何确定浏览器是否支持HTML5占位符标记,以便我可以决定是否挂钩我的jQuery占位符插件。
是否可以使用“:: – webkit-input-placeholder”和jQuery为占位符文本设置颜色? 像这样的东西: $(“input::-webkit-input-placeholder”).css({“color” : “#b2cde0”});
最近我一直在研究jquery / javascript解决方案来模仿placeholder属性,但是它们似乎都没有。 常见问题是: 首先不使用本机浏览器支持 表单实际上可以发布占位符文本的值 如果值相同,则无法识别占位符文本和用户输入(嘿,我的电子邮件是IS user@example.com !!为什么不提交?嘿我想搜索字符串“搜索”但它不会让我来!) 难以设计或区分常规文本和占位符文本 突兀的实现 (几乎总是。我不想为每个输入添加2个div和一个样式表来执行此操作) 只是不起作用。 jQuery网站上至少有2个。 我已经玩了一些试图让它正常工作(从我已经看到的一些代码中获得一些提示),但它仍然需要工作。 特别是,表单可以发布占位符的值。 欢迎评论和修改jsfiddle 。 (注意:Demo必须在没有占位符支持的情况下在浏览器中查看)我看到的大多数代码都占用了placeholder的值,并将其填充到输入本身,这导致了这个问题,我觉得必须有更好的方法。 有一个很好的清洁解决方案, 实际上有效吗? 编辑:我想强调一下:它应该像你在尽可能本地支持它的浏览器中看到的那样,并且尽可能不突兀,正如我当前的代码中所certificate的那样,除了包括脚本和正常情况下使用placeholder的浏览器支持它。 更新:@DA目前的解决方案是完美的一些错误修复(见评论),很想看到这个100%汇集在一起,并把所有坏的和错误的代码放在网上羞耻。 更新:使用DA代码的几个mod工作,但它仍然不完美,主要是关于动态添加的输入字段和现有的submit()绑定。 感谢所有的帮助,我现在已经决定它不值得。 我知道有些人肯定会使用这个。 这是一个很好的技巧,但对我来说,即使表单提交做出不打算做的事情,或者错误地阅读用户输入,也不值得1%的可能性。 这个次要function不值得头疼,IE和好友只能处理它,或者如果真的需要它可以根据具体情况实现,就像客户要求它一样。 @DA再次感谢,这是我见过的最好的实现。 结论:我认为克服所有这些问题的唯一方法是这样的: 将占位符值复制到新的块级元素 将新元素添加到输入中 计算输入的高度边框和填充,并在其上移动新元素尽可能接近文本将发生的位置 使用标准模糊/更改/焦点事件可在输入具有值或聚焦时隐藏元素 这样,您无需在提交或处理可能发生的任何其他问题时执行任何操作。 对不起没有演示,我必须重新开始工作 – 但是我会保存一个最终的编辑,当它汇集在一起。