JQuery :: Firebug Shows The Updated Class Of An Element But Live() Function Takes The Old Class?
Jul 2, 2009
I am new to this discussion but hope you would post reply for my query and encourage me to keep in touch with this discussion. Well here is my problem. I have made an edit in place form in which we can add and remove the elements. I have used jquery.jeditable.mini.js and jquery.duplicate-remove.js plugins for edit in place and add and remove action. I have live() function to access the dynamically ganerated elements like this. $(".addressDiv span").live("mouseover", function(){
clickable function here...
I have this filter in a results table that also reflect in a ui datepicker day styling (ex:available unavailable) . Everything fine till i change month or year in datepicker . Maybe i have to use live() or livequery() but can see the way .This is the code:
$("#filterSelect").change(function(){ var filtro=$("#filterSelect").val(); $("#filter-box2").val(filtro);
I'm trying to swap the class of an element when it's clicked on. Using jquery 1.6.1, here's what it looks like:
[Code]....
Now, for the sake of brevity�*i omitted some other stuff that is happening when they're clicked on. The problem is that the click event for .unchecked_container is firing fine and the class is changed, BUT when clicked on again�*the '.checked_container' click event is NOT firing.
So I create a class: function cMap(mapID){//vars and stuff}
I go and prototype a function: cMap.prototype.loadMap = function(){ //jquery AJAX call }
Now in the jquery $.ajax({...}); call, I use an anonymous function on the "success:" call: success: function(data){ this.member = data; }
My problem is that inside this anonymous function call I'm trying to call a class member of my cMap class to store the data in from the AJAX call, but it's out of scope. So the JS console in FF/Chrome throws errors about bad value/doesn't exist.
How can I access this class member from inside an anonymous function? Or at least what's a good way to go about doing all this?
My code: [URL]... When I click on Upraviť in class edit I need add some HTML code to begin and to end of class entry how to I can select class entry in the same class post on which I clicked?
My problem is that it takes ages to perform the element.focus() function. This is not a function I have written myself but is part of the Javascript language itself. There are probably a lot of reasons why this might be slow but I cannot find the right one. Let me describe my problem. We have a product which was created around 2004 and has been developed on since. The HTML and Javascript used for the product was based on a prototype which we then converted into a server based solution (we use Servlets/JSP).
Due to the nature of the prototype (and also the graphical layout) the major page consists of one huge HTML page which a lot of hidden DIV tags. These DIV tags are then toggled visible/invisible to make it look like we have a kind of tab functionality. We also do not load all tabs when we load the mail page, instead each tab is loaded into a hidden iframe and then with Javascript we grab the resulting HTML content and paste it into the main page, making that one tab visible while hiding all other tabs.
In one of these tabs we also do some more magic. The layout is as follows; we have sets of three columns each and then a lot of rows. Each set of three columns contains one text field per column. The last text field contains a percentage value and when edited, we check if the value is lower then before the edit and if it is, then we split the column, creating another set of three columns.
When we load the page the first time, there exists only one set of columns with the last column having the value 100. There can however easily be 100 rows as well. For the larger pages we can have (at load time) three columns which makes it 900 text fields. I do not know if this is much or not.So, with the above info, to my problem. First off, when I try to move the marker and click on a given field (so that the marker starts blinking on the selected field) it takes maybe 2-3 second (although not always, seems to be more the first time). If I then tab to the next field it goes very fast (like one would expect).When I try to edit a value (by simply adding or removing values) it again takes a very long time (the first time).
When I then try to tab, it takes ages (this happens always, not only the first time).My Javascript then. I have two events, onchange and onkeydown. onkeydown checks if a variable is set to true or not. If it is set to true, the method does nothing. If set to false it does a bunch of tests and sets the variable to true. onkeydown is what I think causes my first lag but the code is not really that advanced (no loops or anything). onchange does the same checks plus all the magic (with the split etc). One of the last things it does is try to set focus on the next text field and this goes extremely slow all the time.
We use IE8. We (sadly) have a lot of IE specific stuff so the site doesn't even work in Firefox. I have used IE8 Developer Tools and used the Profiler which basically gives a list of Javascript calls and their execution times. My own functions take basically zero time, but there are A LOT of calls to functions that are not named, or anonymous, according to the Profiler.
How do I find what the anonymous function calls are?Why is it the focus() function that takes time, can it (or is it) still some of our own Javascript that makes that function go slow, even though it is part of the Javascript language?Can it be the amount of elements on the page (900 text fields)? Is that much?Can it be IE8? Are there known issues with this?
I have a huge blob of code but the main part I am focusing on is this
$('.billboard_click').click(function () { //this remove class $(".billboard_click").removeClass("billboard_click"); });
1. Execute a click event when the div with the class 'billboard_click' is clicked
2. Once clicked, remove the class from that very div to avoid another click from happening
3. Execute a series of events such as animations, etc
4. add the class back to the clicker div
The code does not seem to work as expected but I am wondering if I am having issues elsewhere at this point and wonder if this actually is known to work
Here is a live view of the problem I have:As you can see I am building a page which has an image cycle/carousel. On each of the images I would like to also have a zoomable loupe - I am using the jQzoom plugin to achieve this. Hover over the first image and you will see the zoom appear.
However, whilst all works fine on the first image, as soon as I click the next arrow (just visible at present top left of image as CSS tweak needed) to load the second image and hover over for the zoom, the second zoomed image fails to load. Anyone know why?
I am presuming it's because the cycle plugin hides the images so the jqZoom plugin can't 'grab' them.
I've been reading up on .live() function - can I use this to solve the problem? If so, could you provide some pointers...?
I got this problem with live() event.I have used it as follows.
$(".addressDiv span").live("mouseover", function(){ //clickable function here...... ------------------------ });
I have used the live() event to trigger the function on mouseover in the dynamically added elements. But the problem i got is that once the live event is called it takes the class of the element and stores. And when the class of that particular element is changed dynamically the live() event does not detect the new classed added dynamically, instead it takes the former class. Live() event does not update the class.
I am adding a CSS class to a DIV as follows:$div.addClass("Hover");But I would like the class to be added only if the DIV does not have a class named "Disabled".
I'm trying to figure out which selector is faster (assuming that the class 'foo' only appears on input tags)...
$('.foo'); or $('input.foo');
From what I've seen online, it seems that people recommend $('input.foo'), but in some limited testing it appears that $('.foo') is much faster in both FF and Chrome. In IE, both methods seem to produce similar results. Here is a fiddle with a simple example...
[URL]
Have browsers started implementing native ways to find all elements with a given class name? Would that explain why $('.foo') seems to be faster?
I'm having a hard time getting my head round it again. I know it could be more efficient in jQuery, but I'd be happy just to get it working, with an extra variable, in straight js.The function takes an array and progressively hides each element at constant interval, in this case 50ms:
function hide_50(arrayA,visibility,current) { if ( current == null ) current = 0; var arrayB=(typeof arrayA == 'string')? arrayA.split(',') : arrayA;
[URL] The above webpage lists the selector .class.class without an example. I can't find this usage in jQuery document either. I made the following example, but it doesn't work. Could anybody let me know who to use the .class.class selector?
I'm relatively experienced with jQuery (not a guru but not a newbie) but am wondering how I can write a script where if one element is hovered over then a different element on the page has a particular class added to it.
I am trying to access an element in a page using ID using jquery in when the document is ready.But the problem is the length is always 0 even if the script tag is in the head or right at the bottom of the page. The element is seen rendered when I see it using FireBug.an someone point out where I am making a mistake accessing the element
I have a bunch of elements with multiple classes like this:
<div class="foo bar"> <div class="foo bar snafu"> <div class="foo bar">
I can get all these elements in an array like this:
$ (".foo,.bar")
My question is - is there an elegant way of getting the index (in this array) of the element that has the "snafu" class? Or should I just iterate through the array until I find the wanted element and then remember its index?
Is there a non-structure specific way of finding the next element with a given class? for example you have a structure of:
When you click on the link in container1 the expected behavior is to change the css on a1 in container2 but not in container1 or container3. I have tried playing with parent, next and filter without success. this is the best I have is:
I have table that has four columns and many many rows. It is quite long. I need to add a special divider (border) between each td cell. I thought I could create a css style .border_right and apply it to all td cells using jquery addClass() and then remove the class from the fourth td cell in each row so it does not add to or affect the outside border of the table.
My question is, how do I remove the class from the fourth td of each row using jQuery? I figure there has to be a shortcut way (one or two lines) to do this using jQuery so I don't have to manually add a 'class="border-right"' to each td I need it on.