?? About the "window=this" in the source code of the jquery
I write a code like below to use "window=this", but it is wrong!! <html> <head><title>this example</title> <script language="Javascript" type="text/javascript"> window=this; function dosomething(){ this.style.color="red"; } window.onload=function(){ document.getElementById ("h").onclick=dosomething; } </script> </head> <body> <hl id="h">this example</h1> </body> </html> the right code is cancel the "window=this", why? why use the "window=this" in jquery source code???
.remove() without the event+data stripping
`$("#foo").remove()` removes all event handlers and stored data. But, sometimes I'd like to temporarily remove an element from the DOM for later reinjection, in which case the event and data removal becomes a nuisance. Is there a way to do that in jQuery - aside from writing your own `.removeTemp()` plugin? `$("#foo").remove(true)` `$("#foo").remove(selector, true)` feels like a natural way to express this. any thoughts? -- Már Örlygsson
Cannot run test framework with fresh SVN checkout
I checked out the jQuery trunk this afternoon and attempted to build and run the test suite. After navigating to 'trunk/jquery', I ran 'ant' (for the default build to 'dist/jquery.js') and then 'ant runtest'. At which point, I encountered a ream of syntax errors. I noticed that in the built jquery.js file, on line 114, the jquery version member is set to a string which wraps to the next line before it terminates. From my build: 113: // The current version of jQuery being used 114: jquery: "1.3.3pre
1.3.1 regression in $.fn.filter?
Hey all, Nice meeting you guys at Kilowatt yesterday. I seem to have run across a bug in 1.3.1: $("<span>abc</span>").contents().is("[nodeType=3]") returns true as expected, but $("<span>abc</span>").contents().filter("[nodeType=3]").length == 1 returns false, due to a nodeType === 1 check in $.fn.filter but not in $.fn.is. Is there a need for this check that can't be handled in the selector engine itself? Jed Schmidt
Aliasing of array methods in jQuery
I upgraded to jQuery 1.3.2 this evening, and was surprised by a weird bug on a simple page in my application. The bug turned out to be due to a conflict with a simple plugin I wrote for jQuery, which creates a jQuery method called 'sort'. Apparently jQuery 1.3.2 aliases three array methods onto the jQuery object, but is this really necessary? The comments even say "for internal use only", so isn't there a way you could do this without creating conflicts with external plugins? This is regarding lines
ajax not posting
http://dev.jquery.com/ticket/4239 I've created a ticket for this. Anyone else experience this? -Trey
New to the jQuery Development Game
Hey there everyone, I've been interested in joining an open source project for a little while now and, given that I work with jQuery on a daily basis at my job, I was thinking of helping out with development - whether it be tracking down bugs, routine maintenance, or whatever needs doing. I'm just curious how you guys do things around these parts. In short, does anyone have any suggestions about how I can 'get my foot in the door' and start helping out? Is there a special way to go about getting
Why can't jQuery support object prototype extensions?
Of the 4 total bugs found when searching for hasOwnProperty, each one reports that jQuery doesn't support object prototype extensions because of some factor. In the most recent case a bug was closed invalid with the following explanation: "jQuery does not support changes to Object.prototype. The additional Object properties become visible to for-in loops and breaks any code that uses them. " After going through and editing the 30 or so references to unsafe for..in loops I was able to compile my application
New to jQuery Development
I'm new to jQuery development and I'd like to pitch in, if possible. Is there a special way to go about helping to fix bugs in the tracker (i.e. are they assigned by someone)? Sorry if this is considered spam, just trying to get my jQuery sea legs. :) Regards, Gavin
.support property for q element
The q element is supposed to be rendered with quotation marks around it, according to the W3C specs: "Visual user agents must ensure that the content of the Q element is rendered with delimiting quotation marks. Authors should not put quotation marks at the beginning and end of the content of a Q element." (http://www.w3.org/TR/REC-html40/struct/text.html#h-9.2.2.1) IE versions before 8 do nothing with the q element, however. The best way to find out whether the browser renders quotes or not should
Problem destroying draggable
Using jQuery 1.3.2, I see the following error when trying to call .draggable('destroy') on ui.draggable within a droppable's drop function: $(this).data("draggable") is undefined var o = $(this).data('draggable').options; ui.draggable.js (line 565) Any ideas what I'm doing wrong? - Bobby
plugin mentors
I was wondering if there was any interest I could stir up in the experienced plugin developer community to participate in volunteering to act as mentors for less experienced plugin developers get projects ready for release by providing constructive criticism and feedback about what work a plugin needs before it's release. I'd personally be very grateful for some mentoring so I can get my project out to the community without making common mistakes.<br clear="all"> -- Christopher Thatcher
live(); e.currentTarget != this ?
Hello, when using the live() function I found out that e.currentTarget is not equal to "this". Is this the expected behaviour? Sample code: $(document).ready(function(){ $('div a').live('click',function(e){ alert(e.currentTarget); alert(this); }) }); <div class="menu"> <a href="#">Home</a> </div>
How can I scan the whole page of the website then put the correct data to each variables?
Hey guys, So here's my problem. I want to scan the whole page of the website. I'm trying to locate 2 datas, then I will put each data into a separate variable. var listitem, thislist, itemname1, itemname2; listitem = getElementsByClass('-list-item'); for(var i = 0; i < listitem.length; i++) { if(listitem[i].innerHTML.match(/Item Name:/)) { itemname1 = listitem[i]; } } When the for loop scanned the whole -list-item class, and if it find the Item Name: string then it will put that to itemname1. However,
problems with "length" as object property when using jquery.extend
Hello, It seems that it's not safe to use "length" as a nested object property if I want to use jquery.extend. I imagine you folks already know about this, but I wasn't able to come up with any mentions after a quick search. Spent a bit of time tracking down the source of a bug this morning and determined that it was do to the following: $.extend(true, {},{"prop":{"length":"-1"}}); jquery's generally working great for me. Thanks. -Morgan
ajaxResponse global event
Currently, there are some global ajax events - ajaxSuccess, ajaxError, ajaxComplete which are called _after_ local callbacks. 1. It would be nice to have another one callback which is called _before_ local callbacks, but after the request is performed. This way it could be possible to filter out some common parts of a response (such as error messages, sql queries etc) so local callbacks wouldn't have to know anything about that. 2. this callback should be able to stop all farther processing by returning
Safari issues
Hi, I'm new to jQuery. I started using it and wrote some fairly straight forward code. Here is the what I got - Downloaded the latest version (ver 1.3.1) - My script is in \js folder - Included the script in my page - <script src="js/jquery_131.js" type="text/javascript"></script> Finally I am resizing iframe on document.ready <script type="text/javascript"> $(function() { resizeIFrame(); $("#ttframe").load(resizeIFrame); }); </script> This works fine on IE and FF. But the code fails on Safari. It
OT: Global Variable scope
What's the mechanism by which a variable is available both by it's name and also as a property of 'window' I.e. var x = "hello" window.x => "hello" ?
[SUGGESTION] use google ajax api on demo pages
Hello, i just noticed that the jquery ui demos use locally hosted jquery + jquery UI scripts. Wouldn't it be a good idea to use the google ajax api repository? That would boost the presence of the library in the cache of more users, and reduce your server's load. Sorry if this has been the object of a previous discussion i am unaware of. Alexandre
Jquery-ui build error
Hi, I checked out the current jQuery-ui version using "svn co http://jquery-ui.googlecode.com/svn/trunk". I am using ant for the build purpose, but the build fails in the middle throwing up the following error message. BUILD FAILED /root/jquery/ui/trunk/build/build.xml:58: The following error occurred while executing this line: /root/jquery/ui/trunk/build/build.xml:62: File /root/jquery/ui/trunk/ build/dist/jquery.ui-1.7pre/headers/${target}.js does not exist. Please let me know if something is going
make runtest (jQuery tests in Rhino)
Hiya. I was working on a presentation where I wanted to show how some tools use Rhino for running JavaScript tests. I take it that jQuery devs do not typically run tests in Rhino? I could only get 7 to run using make runtest in subversion trunk. However, I made some tweaks and ended up with 90 Passed, 36 Failed. Well, that is good enough for my demonstration but in case anyone is curious I'm attaching my diff. It's a little hoky but might help if someone wanted to continue with this. -Kumar
Additional Text Elements injected after .clone() in IE6
Hi, first thank you John for the great gift (jquery)! In IE6(winxp) seems that new text nodes, not that are not present in the original <li>, gets inserted between the <fieldset> and the <div>, if we .clone() it. <html> <head> <script src='jquery-2009-02-16.js'></script> </head> <body> <ol> <li class="test"> <fieldset></fieldset><div></div> </li> </ol> <script> var o = $('li.test'); var c =
jQuery 1.3.2 Released
Hi Everyone - Full details here: http://docs.jquery.com/Release:jQuery_1.3.2 Enjoy! --John
fade speed not working
I just started using jQuery and am having trouble getting the fade speed to work. It seems to always fade fast even if I set it to 'slow' or '999999999'. I have reprod in IE, Firefox, and Chrome. I am using jQuery v1.3.1 just downloaded today. Any ideas? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:// www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="js/jquery-1.3.1.js" type="text/javascript"></script>
enhance .toggleClass
1. remove/re-add all original CSS class implement: save original class to $.data on elements Case: el: <span class="a b" /> step#1:$(el).toggleClass(); -save "a b" to $.data(this,"originalClass"), then remove "a b" class on this element. step#2:$(el).toggleClass(); -restore $.data(this,"originalClass")(if exists) to this element. And with boolean: step#1:$(el).toggleClass(false); -save "a b" to $.data(this,"originalClass"), then remove "a b" class on this element. step#1:$(el).toggleClass(true);
jQuery 1.3.2 Alpha Ready
Hey Everyone - Just finished up the last ticket for 1.3.2 and wanted to throw a copy out for people to try: http://code.jquery.com/nightlies/jquery-2009-02-16.js Please let me know if anything is breaking from 1.3.1 -> 1.3.2. There were some logic changes - specifically with cloning in IE (lots of bug fixes), how the selector engine, how :visible/:hidden work, .height()/.width(), and .ready() in IE - so watch those areas in particular. The current full ticket list can be found here: http://dev.jquery.com/report/33
[Issue 3778] attribute search with '.' and brackets
The issue reported in tracker no. 3778 is causing difficulties when using jQuery alongside the Spring MVC framework, as the framework uses input names such as 'foo.bar[val]' for binding on Java objects. I was just curious as to whether this ticket item is currently being looked at as a fix in the next release. Failing sample test cases are below. They require adding the hidden input field <input type="text" style="display:none;" name="test.faa[bear]" id="hidden3"/> to the test index.html file t(
Should fadeTo also show
If I fadeOut an element then ask it to fadeTo at present the element remains with display:none. Should fadeTo auto set the element to visible first? Quick demo http://jsbin.com/ajegi
createjQueryXMLDocs.py and UI
It seems createjQueryXMLDocs.py does not work with UI docs. Debug spits out this: -cut- Loading: http://docs.jquery.com/Special:Export/UI 'UI' is an API of Unheadered Loading: http://docs.jquery.com/Special:Export/UI/Draggable 'UI/Draggable' is unknown Loading: http://docs.jquery.com/Special:Export/UI/Droppable 'UI/Droppable' is unknown Loading: http://docs.jquery.com/Special:Export/UI/Sortable -cut- Is there something obvious I am missing? -- Mika Tuupola http://www.appelsiini.net/
Why doesn't $.fn.not() accept a function ??
I was bitten by my assumption that $.fn.not was simply an inversed $.fn.filter() ... ...which it isn't, as it doesn't accept functions as an argument. Is there a good reason (API-wise) for this difference? -- Már
nested $.param()
Hey All I just made the switch recently to jQuery from prototype and I'm loving every minute of it :) I've been using it a lot with a Ruby on Rails backend, and one of the things I need was a way to nest params like the way Rails handles forms/objects, eg. with a Page object: page[name]=Foo&page[author]=Bar Unfortunately, $.param didnt translate objects this way, but adding just a few simple lines made it work like a charm: http://gist.github.com/66948 Now: $.param({page: {name: 'Foo', author: 'Bar'})
sprockets
looks interesting.... http://getsprockets.org/ would be cool to add external dependencies that are downloaded. Or rubygems stye installation. ------------ Sprockets is a Ruby library that preprocesses and concatenates JavaScript source files. It takes any number of source files and preprocesses them line-by-line in order to build a single concatenation. Specially formatted lines act as directives to the Sprockets preprocessor, telling it to require the contents of another file or library first or
jQuery function to generate selection path from container
It would be nice to have a function in the code to generate a 'query' selector path to any element from any containing element. Sort of like a jQuery equivalent of an xpath. I just put together the following as an example of what it might look like (can probably be made more efficient .. and I'm not sure if using eq() provides the fastest selector path when resolved): $.fn.extend({ /** * Return a valid jQuery selector path to an object from a container * root - specify a
Multi-Calendar I18N Support in UI Datepicker
I am planning on using the ui datepicker component in an app with multi-calendar requirements. This includes the datepicker UI component, meaning that the datepicker should be able to render with a completely different calendar (such as Julian or Coptic) as well as the current localized text support. If possible, I'd like to implement this using the current jquery datepicker UI widget but thought I'd first ask about the extensibility of the component for this purpose, and a few starting pointers,
.get() vs .toArray(), .get(index) vs [index]
My English is not so good so will be short. I am not sure why the get() function exists. Because it is shorter then toArray()? But my code would by more clear with an toArray instead, An foo.get(index) is not clearer nor shorter then foo[index] for me. In my opinion the "get" function is not really necessary and would by deprecated if an more explicit toArray would exists. The implementation of toArray() would be banal: jQuery.fn.toArray = function() { return Array.prototype.slice.apply (this, arguments)
.load callback for an image does not work in IE 6
Sample: <html><head> <script src="js/jquery-1.3.min.js"></script> <script> var src="http://www.google.com/intl/en_com/images/logo_plain.png"; $(function(){ window.setTimeout( function mi(){ $('<img>').attr('src',src).appendTo('body').load(function() { alert ('Not called in IE 6') }); } ,100 ); }) </script> </head><body></body></html> Works in IE7, FireFox, but not in IE 6. Is it expectable?
binding .live() handlers to context rather than document
Hi, I was browsing through the new jQuery code and noticed that .live() always binds events to document. I was wondering whether it would be more efficient to bind them on the context if present - ie. to prevent events from unnecessarily bubbling all the way up to document. so that: $('button', container).live('click', function(ev) { var button = this; ... ev.stopPropagation(); }); events are bound to 'container', and the function prevents further propagation. I know that this kind of thing can currently
not selector limitations
I guess this is expected, but I'd like to clarify that not doesn't work with attribute selectors. For example $(".foo:not(.bar)") will return all elements that have class foo but not class bar. $(".foo:not(.bar[data-x='y']") will return the same set of elements as above. Thanks Paul
live event handlers
I recently created a grid with ~1000 squares and each set a click event handler to each. $(".sq").bind("click", myfunc ) Needless to say, it was extremely slow. Thankfully I could simply switch to event delegation and far better performance by simply switching to the following: $(".sq").live("click", myfunc ) Rock on 1.3.1 ! So my question : - Is there any reason *not* to use live event handlers for pretty much everything ? (other than of course the events and selectors that don't work).
vsdoc/intellisense documentation
Don't know if it's worth mentioning, but I found some small bugs in the vsdoc for jQuery: - line ~835 (html function) the param name should be 'value' instead of 'val'. - line ~866 (eq function) the param name should be 'i' instead of 'num'. Secondly I like to know if there's going to be documentation about intellisense for jQuery plugins. I'm currently making a small plugin and I'm strugling to find the correct information for javascript. gr J
Next Page