Questions tagged «jquery»

jQuery是一个JavaScript库,请考虑添加JavaScript标记。jQuery是一种流行的跨浏览器JavaScript库,它通过最小化浏览器之间的差异来促进文档对象模型(DOM)遍历,事件处理,动画和AJAX交互。标记为jQuery的问题应与jQuery相关,因此问题代码应使用jQuery,并且问题中至少需要与jQuery使用相关的元素。

22
如何在jQuery中将Title转换为URL段?
我正在使用CodeIgniter中的一个应用程序,并且尝试使表单上的字段动态生成URL段。我想做的是删除标点符号,将其转换为小写字母,并用连字符代替空格。因此,例如,Shane的Rib Shack将成为shanes-rib-shack。 到目前为止,这就是我所拥有的。小写部分很简单,但是替换似乎根本不起作用,而且我也不知道删除标点符号: $("#Restaurant_Name").keyup(function(){ var Text = $(this).val(); Text = Text.toLowerCase(); Text = Text.replace('/\s/g','-'); $("#Restaurant_Slug").val(Text); });
163 javascript  jquery  regex 

8
jQuery调用WebService返回“无传输”错误
我有以下网络服务; [WebMethod] public string HelloWorld() { return "Hello World"; } 这是库存标准,不更改类装饰器。 我有这个jQuery方法; var webMethod = "http://localhost:54473/Service1.asmx/HelloWorld"; $.ajax({ type: "POST", contentType: "application/json; charset=utf-8", data: "{}", dataType: "json", url: webMethod, success: function(msg){ alert(msg.d); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(errorThrown); } }); 这是一个发布操作,因为稍后我需要向其发布数据。 当我执行jQuery时,返回“ No transport”错误。 我还应该提到的一件事是,jQuery存储在我的计算机上的简单HTML文件中,并且WebService也在我的计算机上运行。 HTML页面上没有代码,它只是一个网页,而不是ac#项目或其他任何代码。 有人可以在这里指出正确的方向吗?

4
是否应该将所有jquery事件都绑定到$(document)?
这是哪里来的 当我第一次学习jQuery时,通常会附加如下事件: $('.my-widget a').click(function() { $(this).toggleClass('active'); }); 在学习了更多关于选择器速度和事件委托的知识之后,我在几个地方读到“ jQuery事件委托将使您的代码更快。” 所以我开始写这样的代码: $('.my-widget').on('click','a',function() { $(this).toggleClass('active'); }); 这也是复制不推荐使用的.live()事件的行为的推荐方法。这对我来说很重要,因为我的许多站点始终都在动态添加/删除小部件。上面的行为与.live()并不完全一样,因为只有添加到已经存在的容器'.my-widget'中的元素才能获得该行为。如果在该代码运行后动态添加另一个html块,则这些元素将不会获得绑定到它们的事件。像这样: setTimeout(function() { $('body').append('<div class="my-widget"><a>Click does nothing</a></div>'); }, 1000); 我要实现的目标: .live()的旧行为//表示将事件附加到尚不存在的元素上 .on()的好处 绑定事件的最快性能 管理事件的简单方法 我现在附上所有这样的事件: $(document).on('click.my-widget-namespace', '.my-widget a', function() { $(this).toggleClass('active'); }); 这似乎可以满足我的所有目标。(是的,由于某种原因,它在IE中的运行速度较慢,不知道为什么吗?)之所以快,是因为只有单个事件绑定到单个元素,并且仅在事件发生时才评估辅助选择器(如果此处有误,请更正我)。命名空间很棒,因为它使切换事件监听器更加容易。 我的解决方案/问题 因此,我开始认为jQuery事件应始终绑定到$(document)。 有什么理由为什么您不想这样做? 可以认为这是最佳做法吗?如果没有,为什么? 如果您已阅读了整本书,则谢谢。我感谢任何/所有反馈/见解。 假设: 使用支持.on()//至少1.7版的jQuery 您希望将事件添加到动态添加的内容中 阅读/示例: http://24ways.org/2011/your-jquery-now-with-less-suck http://brandonaaron.net/blog/2010/03/4/event-delegation-with-jquery http://www.jasonbuckboyer.com/playground/speed/speed.html http://api.jquery.com/on/

8
jQuery和AJAX响应标头
因此,我得到了这个jQuery AJAX调用,并且响应以302重定向的形式来自服务器。我想进行此重定向并将其加载到iframe中,但是当我尝试使用JavaScript警报查看标头信息时,即使firebug正确看到了该信息,它也会显示为空。 这是代码,如果有帮助的话: $j.ajax({ type: 'POST', url:'url.do', data: formData, complete: function(resp){ alert(resp.getAllResponseHeaders()); } }); 我真的没有访问服务器端内容的权限,无法将URL移到响应正文,我知道这是最简单的解决方案,因此,解析标头的任何帮助都非常出色。

22
拖动子元素时会触发父元素的“ dragleave”
总览 我具有以下HTML结构,并且将dragenter和dragleave事件附加到了<div id="dropzone">元素上。 <div id="dropzone"> <div id="dropzone-content"> <div id="drag-n-drop"> <div class="text">this is some text</div> <div class="text">this is a container with text and images</div> </div> </div> </div> 问题 当我将文件拖到时<div id="dropzone">,dragenter事件将按预期触发。但是,当我将鼠标移到子元素(例如)上时<div id="drag-n-drop">,会dragenter为该<div id="drag-n-drop">元素dragleave触发该事件,然后为该<div id="dropzone">元素触发该事件。 如果我<div id="dropzone">再次将鼠标悬停在该元素上,dragenter则会再次触发该事件,这很酷,但是随后dragleave为刚刚剩下的子元素触发了该事件,因此removeClass执行了该指令,这并不酷。 此行为有问题的原因有两个: 我只是附上 dragenter&dragleave,<div id="dropzone">所以我不明白为什么子元素也要附加这些事件。 我仍在将<div id="dropzone">元素悬停在其子元素上时拖动元素,所以我不想dragleave开火! jsFiddle 这是一个可以修补的jsFiddle: http //jsfiddle.net/yYF3S/2/ 题 所以...我该怎么做,以至于当我在<div id="dropzone">元素上拖动文件时,dragleave即使我在任何子元素上拖动也不会触发...仅当我离开该<div id="dropzone">元素时才触发。 。在元素边界内的任何位置悬停/拖动都不会触发dragleave事件。 我需要它与跨浏览器兼容,至少在支持HTML5拖放的浏览器中是这样,所以这个答案是不够的。 …

22
如何以编程方式禁用jQuery页面滚动
使用jQuery,我想禁用主体的滚动: 我的想法是: 组 body{ overflow: hidden;} 捕获当前 scrollTop();/scrollLeft() 绑定到主体滚动事件,将scrollTop / scrollLeft设置为捕获的值。 有没有更好的办法? 更新: 请在http://jsbin.com/ikuma4/2/edit上查看我的示例及其原因 我知道有人会想“为什么他不只是position: fixed在面板上使用?”。 请不要提出这个建议,因为我还有其他原因。
163 jquery  css  scroll 

20
jQuery触发文件输入
我正在尝试使用jQuery触发一个上传框(浏览按钮)。 我现在尝试的方法是: $('#fileinput').trigger('click'); 但这似乎不起作用。请帮忙。谢谢。
163 javascript  jquery  css 

9
如何在不跳文档的情况下更新window.location.hash?
我在网站上设置了一个滑动面板。 完成动画制作后,我像这样设置哈希 function() { window.location.hash = id; } (这是一个回调,并且在之前id已分配)。 这很好用,可以使用户在面板上添加书签,也可以使非JavaScript版本正常工作。 但是,当我更新哈希时,浏览器跳到该位置。我想这是预期的行为。 我的问题是:如何预防这种情况?即,如何更改窗口的哈希,但是如果哈希存在,浏览器是否无法滚动到该元素?某种event.preventDefault()东西吗? 我正在使用jQuery 1.4和scrollTo插件。 非常感谢! 更新资料 这是更改面板的代码。 $('#something a').click(function(event) { event.preventDefault(); var link = $(this); var id = link[0].hash; $('#slider').scrollTo(id, 800, { onAfter: function() { link.parents('li').siblings().removeClass('active'); link.parent().addClass('active'); window.location.hash = id; } }); });

5
如何使用jQuery获得href值?
我正在尝试使用jQuery获取href值: <html> <head> <title>Jquery Test</title> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> $(document).ready(function() { $("a").click(function(event) { alert("As you can see, the link no longer took you to jquery.com"); var href = $('a').attr('href'); alert(href); event.preventDefault(); }); }); </script> </head> <body> <a href="http://jquery.com/">jQuery</a> </body> </html> 但这是行不通的。为什么?
163 javascript  jquery 

13
jQuery hasClass()-检查多个类
带有: if(element.hasClass("class")) 我可以检查一个类,但是有没有一种简单的方法可以检查“元素”是否具有多个类呢? 我在用: if(element.hasClass("class") || element.hasClass("class") ... ) 这还不错,但是我在想类似的东西: if(element.hasClass("class", "class2") 不幸的是,这不起作用。 有那样的东西吗?



6
jQuery的实时悬停
我正在使用以下jquery代码来显示仅针对我们用鼠标悬停的表行的上下文删除按钮。这是可行的,但不适用于动态添加了js / ajax的行... 有没有办法通过现场直播来实现这一目标? $("table tr").hover( function () {}, function () {} );
161 jquery  live  jquery-1.4 

17
使用Javascript / jQuery从HTML元素获取所有属性
我想将Html元素中的所有属性放到一个数组中:就像我有一个jQuery Object,它的html看起来像这样: <span name="test" message="test2"></span> 现在一种方法是使用此处描述的xml解析器,但是随后我需要知道如何获取对象的html代码。 另一种方法是使用jquery进行修改,但是如何进行呢?属性的数量和名称是通用的。 谢谢 顺便说一句:我无法使用document.getelementbyid或类似的东西来访问元素。

9
如何说服IE仅显示application / json而不是提供下载?
在调试使用AJAX的jQuery应用程序时,我经常需要查看服务返回给浏览器的json。因此,我将JSON数据的URL放入地址栏中。 这对ASPNET很好,因为在发生编码错误的情况下,我可以在浏览器中看到ASPNET诊断错误: 但是,当服务器端代码正常工作并实际返回JSON时,IE会提示我下载它,因此看不到响应。 我可以让IE不这样做吗,换句话说,就是像纯文本一样显示它吗? 我知道如果将Content-Type标头设置为,我可以做到这一点text/plain。 但这特别是一个ASPNET MVC应用程序的上下文,当我在一种操作方法上使用JsonResult时,它将自动设置响应。我还想保留适当的内容类型,而不是仅仅为了支持调试而更改它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.