我想要一个textarea来处理按Tab键的情况。 在默认情况下,如果您按Tab键,焦点将离开textarea。 但是,当用户想要在textarea中inputtab键的情况呢? 我可以捕获这个事件并将焦点返回到textarea并添加一个选项卡到当前的光标位置?
我正在使用优秀的JQuery UI做一个“映射”,因此用户可以将一个程序中的人员映射到其他程序中的人员。 使用这个简单的JQuery: $(document).ready(function() { $("div .draggable").draggable({ revert: 'valid', snap: false }); $("div .droppable").droppable({ hoverClass: 'ui-state-hover', helper: 'clone', cursor: 'move', drop: function(event, ui) { $(this) .addClass('ui-state-highlight') .find("img") .removeAttr("src") .attr("src", "_assets/img/icons/check-user-48×48.png"); $(this).droppable('disable'); $(ui.draggable) .addClass('ui-state-highlight') .find("img") .removeAttr("src") .attr("src", "_assets/img/icons/check-user-48×48.png"); $(ui.draggable).draggable('disable'); } }); $("div .droppable").bind("dblclick", function() { $(this) .removeClass('ui-state-highlight') .find("img") .removeAttr("src") .attr("src", "_assets/img/icons/user-48×48.png"); $(this).droppable('enable'); EnableSource($(this)); }); }); 我得到这个: […]
我想了解jquery插件语法,因为我想合并成一个插件。 闪光灯也需要能够停止间隔或运行若干次。 无论如何,这个语法是一样的 jQuery.fn.extend({ everyTime: function(interval, label, fn, times) { return this.each(function() { jQuery.timer.add(this, interval, label, fn, times); }); }, oneTime: function(interval, label, fn) { return this.each(function() { jQuery.timer.add(this, interval, label, fn, 1); }); }, 这个 $.fn.blink = function(options) { 因为它看起来像第一个(不带=)是一种方法一次设置多个方法。 这是正确的吗? 同时我在这里什么原因将元素和一些逻辑添加到jquery对象? jQuery.extend({ timer: { global: [], guid: 1, dataKey: "jQuery.timer", (这是从定时器插件) 谢谢,理查德
非常简单的问题,我希望。 我有这样的通常的<select>框 <select id="select"> <option value="1">this</option> <option value="2">that</option> <option value="3">other</option> </select> 我可以通过使用$("#select").val() )和所选项目的显示值(通过使用$("#select :selected").text() )来获得选定的值。 但是,如何在<option>标签中存储额外的值呢? 我希望能够做一些类似于<option value="3.1" value2="3.2">other</option>并获取value2属性的value2 (在本例中为3.2)。
概观 我有以下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">类的子元素上时,为<div id="drag-n-drop">元素触发dragenter事件,然后dragleave事件是为<div id="dropzone">元素触发的。 如果我再次将鼠标hover在<div id="dropzone">元素上,则dragenter事件再次被触发,这很酷,但是随后为刚刚离开的子元素触发dragleave事件,所以执行removeClass指令,即不酷。 这种行为有两个原因是有问题的: 我只是将dragenter和dragleave到<div id="dropzone">所以我不明白为什么儿童元素也附加了这些事件。 我仍在拖动<div id="dropzone">元素,同时将dragleavehover在它的子元素上,所以我不想让dragleave发射! 的jsfiddle 这是一个jsFiddle修补: http : //jsfiddle.net/yYF3S/2/ 题 所以…我怎么能这样做,当我拖动一个文件通过<div id="dropzone">元素,即使我拖动dragleave元素, dragleave不会触发…它应该只有在离开<div id="dropzone">元素时才会触发…在元素边界内的任何位置hover/拖动不应触发dragleave事件。 我需要这是跨浏览器兼容的,至less在支持HTML5拖放的浏览器中,所以这个答案是不够的。 Google和Dropbox似乎已经知道了这一点,但是他们的源代码被缩小/复杂了,所以我没有能够从他们的实现中得出这个结论。
我正尝试通过基于页面中其他位置的button单击的JSON来重新加载Highcharts图表的数据。 最初,我想显示一个默认的数据集(花费类别),然后根据用户input加载新的数据(例如按月支出)。 从服务器输出JSON最简单的方法是将GET请求传递给PHP页面,例如$ .get('/ dough / includes / live-chart.php?mode = month' ,检索这个来自button的ID属性的值。 这是我迄今为止检索默认数据(按类别开支)。 需要find如何根据用户input,按需要将完全不同的数据加载到饼图中: $(document).ready(function() { //This is an example of how I would retrieve the value for the button $(".clickMe").click(function() { var clickID = $(this).attr("id"); }); var options = { chart: { renderTo: 'graph-container', margin: [10, 175, 40, 40] }, title: { text: 'Spending […]
我有一个需要login的服务器端function。 如果用户login,该function将成功返回1。 如果没有,该函数将返回login页面。 我想使用Ajax和jQuery来调用函数。 我所做的是用一个普通的链接提交请求,并在其上应用点击function。 如果用户没有login或function失败,我希望Ajax调用返回true,以便href触发。 但是,当我使用下面的代码时,该函数在Ajax调用完成之前退出。 我如何优雅地将用户redirect到login页面? $(".my_link").click( function(){ $.ajax({ url: $(this).attr('href'), type: 'GET', cache: false, timeout: 30000, error: function(){ return true; }, success: function(msg){ if (parseFloat(msg)){ return false; } else { return true; } } }); });
jQuery的Deferred有两个函数可以用来实现函数的asynchronous链接: then() deferred.then( doneCallbacks, failCallbacks ) Returns: Deferred doneCallbacks在parsingDeferred时调用的函数或函数数组。 failCallbacks延迟被拒绝时调用的函数或函数数组。 pipe() deferred.pipe( [doneFilter] [, failFilter] ) Returns: Promise doneFilterparsingDeferred时调用的可选函数。 failFilter当Deferred被拒绝时调用的可选函数。 我知道then()已经比pipe()长了一些,所以后者必须增加一些额外的好处,但是这个差别正是我所没有的。 虽然两者的名字不同,但它们的callback参数几乎相同,返回Deferred和返回Promise的差别似乎很小。 我一遍又一遍地读了官方文档,但总是发现它们太“密集”,真的把我的头围绕着,search已经发现了很多关于这个function的讨论,但是我还没有发现任何能够真正澄清不同的东西每个的利弊。 那么什么时候使用更好,什么时候使用pipe更好呢? 加成 菲利克斯的出色答案确实有助于澄清这两个function的不同之处。 但是我想知道是否有时候then()的function优于pipe() 。 很明显pipe()比pipe()更强大,前者似乎可以做任何事情。 使用then()一个原因可能是它的名字反映它的作用是终止处理相同数据的函数链。 但是是否有一个用例需要then()返回原来的Deferred ,由于它返回一个新的Promise而无法用pipe()完成?
我需要使用四方API来search场地。 当然这是跨域的。 它在Firefox中没有任何问题,但在Internet Explorer(我已经testing过7,8,9)。 我的JavaScript代码如下所示: searchVenues: function(searchQuery) { $.ajax({ url: 'https://api.foursquare.com/v2/venues/search', data: { sw: bound_south_west, ne: bound_north_east, query: searchQuery.query, oauth_token: FSQ_OAUTH_TOKEN, limit: 25, intent: 'browse', v: 20120206 }, cache: false, dataType: 'json', success: function(data) { displayResults(data, searchQuery.query); }, error: function(xhr, status, errorThrown) { console.log(errorThrown+'\n'+status+'\n'+xhr.statusText); } }); } 在Firefox中,它完美地显示收到的数据。 在Internet Explorer中,它在控制台上login: No Transport Error Error 我该怎么办?
从Internet ExplorercachingJQuery Ajax请求的结果,我遇到了严重问题。 每当用户导航到新页面时,我的网页上都会显示标题。 一旦页面被加载,我这样做 $.get("/game/getpuzzleinfo", null, function(data, status) { var content = "<h1>Wikipedia Maze</h1>"; content += "<p class='endtopic'>Looking for <span><a title='Opens the topic you are looking for in a separate tab or window' href='" + data.EndTopicUrl + "' target='_blank'>" + data.EndTopic + "<a/></span></p>"; content += "<p class='step'>Step <span>" + data.StepCount + "</span></p>"; content += […]