Questions tagged «jquery»

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


5
如何使用开发人员工具查找Chrome中的按钮或元素运行的代码
我正在使用Chrome和我自己的网站。 我从内部知道: 1)我有一个表单,人们可以通过单击此橙色图像按钮进行注册: 2)我检查它,仅此而已: <img class="formSend" src="images/botoninscribirse2.png"> 3)在源代码的顶部,有大量的脚本源。我知道该按钮调用哪个按钮,因为我已对其进行了编码:<script src="js/jquery2.js" type="text/javascript"></script> 4)在该文件中,您可以找到:$(".formSend").click(function() { ... });这是由按钮触发的(进行相当复杂的表单验证和提交),而我想要的是能够在任何网站上使用chrome dev工具找到它。 我如何找出元素在哪里调用? 听众标签对我不起作用。因此,然后我尝试查找单击事件侦听器,这对我来说似乎是一个安全的选择,但是...那里没有jquery2.js(而且我真的不知道代码是哪个文件,因此我浪费时间检查所有这些文件。) ): 我$(".formSend").click(function() { ... });在jquery2.js文件中的功能不存在。 杰西解释了原因: “最后,您的函数未直接绑定到click事件处理程序的原因是因为jQuery返回了被绑定的函数。jQuery的函数又经过一些抽象层并进行检查,然后在其中的某个地方执行您的函数”。 正如某些人所暗示的,我在下面的一个答案中收集了有效的方法。


8
使用jQuery更改元素的ID
我需要使用jQuery更改元素的ID。 显然这些不起作用: jQuery(this).prev("li").attr("id")="newid" jQuery(this).prev("li")="newid" 我发现可以通过以下代码实现它: jQuery(this).prev("li")show(function() { this.id="newid"; }); 但这对我来说似乎不对。必须有更好的方法,不是吗?另外,如果没有,我可以使用什么其他方法代替显示/隐藏或其他效果?显然,我不想每次都仅显示/隐藏或影响元素,而只是更改其ID。 (是的,我是jQuery新手。) 编辑 在这种情况下,我不能使用类,我必须使用ID。
302 javascript  jquery 

12
防止RequireJS缓存所需的脚本
RequireJS似乎在内部做了一些缓存所需的javascript文件的操作。如果对所需文件之一进行更改,则必须重命名该文件才能应用更改。 将版本号作为查询字符串参数附加到文件名末尾的常见技巧不适用于requirejs <script src="jsfile.js?v2"></script> 我正在寻找的是一种防止对RequireJS必需脚本进行内部缓存的方法,而无需在每次更新脚本文件时都对其重命名。 跨平台解决方案: 现在,我用于urlArgs: "bust=" + (new Date()).getTime()开发和urlArgs: "bust=v2"生产期间的自动缓存清除,在部署更新的必需脚本后,我增加了硬编码版本num。 注意: @Dustin Getz在最近的回答中提到,当像这样不断刷新Javascript文件时,Chrome开发者工具会在调试过程中删除断点。一种解决方法是debugger;在大多数Javascript调试器中编写代码以触发断点。 服务器特定的解决方案: 有关可能更适合您的服务器环境(例如Node或Apache)的特定解决方案,请参阅以下一些答案。


6
jQuery UI:Datepicker将年份范围下拉列表设置为100年
默认情况下,使用Datepicker的年份下拉列表仅显示10年。用户必须单击上一年才能获得更多的年份。 我们如何将初始范围设置为100年,以便用户默认情况下会看到一个大列表? function InitDatePickers() { $(".datepicker").datepicker({ changeMonth: true, changeYear: true, showButtonPanel: true, maxDate: '@maxDate', minDate: '@minDate' }); }

14
为什么返回生成的HTML而不是JSON是一种不好的做法?还是?
使用JQuery或任何其他类似框架从自定义URL / Web服务中加载HTML内容非常容易。到目前为止,我已经使用过这种方法很多次,并且发现性能令人满意。 但是所有书籍,所有专家都试图让我使用JSON而不是生成的HTML。它比HTML优越得多吗? 它快很多吗? 它在服务器上的负载要少得多吗? 另一方面,我有一些使用生成的HTML的原因。 它是简单的标记,通常与JSON一样紧凑或实际上更紧凑。 错误更少,因为您得到的只是标记,而且没有代码。 在大多数情况下,编程将更快,因为您不必为客户端单独编写代码。 您站在哪一边?为什么?
301 javascript  jquery  html  ajax  json 

30
悬停子元素时触发HTML5 dragleave
我遇到的问题是,dragleave悬停该元素的子元素时会触发该元素的事件。另外,dragenter在再次将父元素悬停时不会触发。 我做了一个简化的提琴:http : //jsfiddle.net/pimvdb/HU6Mk/1/。 HTML: <div id="drag" draggable="true">drag me</div> <hr> <div id="drop"> drop here <p>child</p> parent </div> 使用以下JavaScript: $('#drop').bind({ dragenter: function() { $(this).addClass('red'); }, dragleave: function() { $(this).removeClass('red'); } }); $('#drag').bind({ dragstart: function(e) { e.allowedEffect = "copy"; e.setData("text/plain", "test"); } }); 应该做的是div在拖曳某物时通过将其下拉为红色来通知用户。这可行,但是如果您拖入p孩子,则将dragleave被发射,而div不再是红色。返回到下拉列表div也不会再次使其变为红色。有必要将其完全移出下拉菜单div,然后再次拖回下拉菜单以使其变为红色。 dragleave拖动到子元素中时是否可以防止触发? 2017更新: TL; DR,pointer-events: none;按照下面@HD的回答中所述查找CSS ,该CSS 在现代浏览器和IE11中均有效。

8
变量===未定义vs. typeof变量===“未定义”
在jQuery的核心风格指南建议两种不同的方法来检查一个变量是否被定义。 全局变量: typeof variable === "undefined" 局部变量: variable === undefined 特性: object.prop === undefined 为什么jQuery为什么对全局变量使用一种方法而对局部变量和属性使用另一种方法?

6
是什么(function($){})(jQuery); 意思?
我刚刚开始编写jQuery插件。我写了三个小插件,但是我只是简单地将代码行复制到我的所有插件中,而实际上并不知道它的含义。有人可以告诉我更多有关这些的信息吗?也许有一天写一个框架时会有用的解释:) 这是做什么的?(我知道它以某种方式扩展了jQuery,但对此还有其他有趣的信息) (function($) { })(jQuery); 以下两种编写插件的方式有什么区别: 类型1: (function($) { $.fn.jPluginName = { }, $.fn.jPluginName.defaults = { } })(jQuery); 类型2: (function($) { $.jPluginName = { } })(jQuery); 类型3: (function($){ //Attach this new method to jQuery $.fn.extend({ var defaults = { } var options = $.extend(defaults, options); //This is where you write …
299 javascript  jquery 

10
在文本输入字段中检测Enter键
我正在尝试执行一个功能,如果在特定输入上按下Enter键。 我做错了什么? $(document).keyup(function (e) { if ($(".input1").is(":focus") && (e.keyCode == 13)) { // Do something } }); 有没有更好的方法可以做到这一点,如果按Enter键可以.input1执行功能?
299 javascript  jquery 



17
带ASP.NET按钮回发的jQuery UI对话框
我的jQuery UI对话框在我的ASP.NET页上运行良好: jQuery(function() { jQuery("#dialog").dialog({ draggable: true, resizable: true, show: 'Transfer', hide: 'Transfer', width: 320, autoOpen: false, minHeight: 10, minwidth: 10 }); }); jQuery(document).ready(function() { jQuery("#button_id").click(function(e) { jQuery('#dialog').dialog('option', 'position', [e.pageX + 10, e.pageY + 10]); jQuery('#dialog').dialog('open'); }); }); 我的div: <div id="dialog" style="text-align: left;display: none;"> <asp:Button ID="btnButton" runat="server" Text="Button" onclick="btnButton_Click" /> …

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.