JQuery :: Check Event Layout - Function Runs Twice
Nov 4, 2009
I have created some code that alerts me the contents of all the child divs inside a main div
function CheckEventLayout(){
//check all divs in area and resize overlapping divs
var RunOnce;
if( RunOnce != true ){
var StartTimes = new Array();
var EndTimes = new Array();
var i = 0;
$("div#day-view-overlay").children("div.day-view-appointment").each(function(){
var DoOnce;
if( DoOnce != true ){
alert($(this).html()); .....
CheckEventLayout();
The problem is this code is on a page that is loaded via post and if you go off the page and then back onto it jquery seems to attach the function again so it runs twice. So need to unbind this function before the script runs again.
Does anyone know why these event codes run twice? E.g. I am using a cookie to keep track of [Ctrl] + [Shift] + [F] by incrementing a variable once everytime it is used. However the code for it runs twice and thus the variable is never odd as it always increments by two.It's the same for the other events, such as [Ctrl] + [Shift] + [S], it runs twice. This was not occuring when I first inserted the cookie code last week. I have read about "bubbling" but I cannot seem to stop the code running a second time.EDIT: Internet Explorer (6+) is only browser code needs to work in.
document.addEvent('keydown', function(event) { var event = new Event(event); if (event.key == 'f' && event.control && event.shift) {
it's possible to bind a function to an element that is fired if that element is 'moved'/repositioned via the browser.
For a more specific example what I have is a function that calculates height and width of certain elements to allow them to all fit nicely on the page without having scroll bars, and this is bound to the window onresize event. It works nicely most of the time but occasionally something will change the height of one of the elements and this effectively bumps one element right off the page.
So I'm wondering if its possible to have an event bound to an element that is fired when an elements position is moved/recalculated by the browser? Short of polling every second or so, to see if it has moved/recalculate layout.
Problem in the timing of the script. The problem is that when I try to get an id of an object that was added by ajax, the script doesn't recognize it. The html: <select id="categories" name="categories"> <option value="3">aa</option> <option value="43">bbb</option> </select>
When I load the page, there is this script that get the value of the #categories and use ajax to fill another select and in the same ajax, I load images by another function using the new select input that was created: function fill_subcategories(){ parent=$("#categories").val(); $.ajax({ type: "post", url: "ajax/sub_galleries.php", data: 'parent='+parent, success: function(data){ $('#sub_categories').html(data); }}); show_exist_imgs() }
This fills this div: <select name="sub_categories" id="sub_categories"></select> Right after filling the #sub_categories, I use another ajax that get images of the new id of the #sub_categories, and here I get the problem.. the js: function show_exist_imgs(){ g_id=$('#sub_categories').val(); $.ajax({ type: "post", url: "ajax/show_exist_imgs.php", data: 'g_id='+g_id, success: function(data){ $('#exist_files').html(data); }}); } This script doesn't recognize the id of the new $('#sub_categories') select input.. why is that?
If this search function is included in an include file with other functions it will run more than once if you click another function first, then come back to it to do another search.
For example if I click the next page function, then decide to click for a new search it runs more than once: Next page function:
Code: $(document).ready(function() { $('a#nextpage').click(function() { var page = $(this).attr('page'); var searchval = $(this).attr('schval'); var maxpage = $(this).attr('maxpage'); $.post("findowner.php", { p1 : searchval, page : page }, function(data){ if (data.length>0){ $("#ownerIDdiv2").html(data); } }); }); }); //end
However, if I put the first search function in a separate include file all works perfect. Why it runs multiple times if it is grouped among other functions?
I'm using the load function to inject a page into my layout. It works fine, however after it loads the page the layout changes dramatically and eliminates pretty much all of the CSS in the HTML file.
The page im loading is a PHP page, could that be why? Is there something I have to insert into the PHP file to stop the display from changing upon loading?
Event Listener. From what I understand it will check all events until a defined event happens, such as rollover of a certain image, and then it activates a function? What I want to do is use this so that when I rollover a element such as below: <img src="img url" alt="this is a tooltip" tooltip="true" /> I want it to pass the obj to a function which then runs, and then once the mouse of not over that element it will activate another function passing the previous object to this function.
Although an element such as the example below would not activate these functions: <img src="img url" alt="this is a tooltip"/> As the tooltip tag does not exist or has the value of false. Also, wouldn't this use a lot of resources as it checks every event which the mouse passes over?
I've got an array of names, and one ID. I need to run an ajax call using the ID and each lastname, until I get a successful hit on the ajax call. I can't quite figure out how to determine if the function that runs the ajax call has succeeded or not, it always returns false for me... Here's the code for the loop:
I have a function which is called twice. It allows the elements of an array to be set to a different color, successively:
function ln8 (arrayA,color,current) { var arrayB=(typeof arrayA == 'string')? arrayA.split(',') : arrayA; var line = document.getElementById(arrayB[current]);
function update(value1){ doAjax("behind_scan.php" , "id="+value1); }function doAjax(url , str ){ xmlhttp=GetXmlHttpObject(); if (xmlhttp==null){ alert ("Browser does not support HTTP Request"); return; }url=url+"?"+str; xmlhttp.onreadystatechange=stateChanged; xmlhttp.open("GET",url,true); xmlhttp.send(null); }function stateChanged(){ if (xmlhttp.readyState==4){ //document.getElementById("txtHint").innerHTML=xmlhttp.responseText; //alert(xmlhttp.responseText) document.forms.myform.scanner.value = ""; document.forms.myform.scanner.focus(); }}function GetXmlHttpObject(){ if (window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari return new XMLHttpRequest(); }if (window.ActiveXObject){ // code for IE6, IE5 return new ActiveXObject("Microsoft.XMLHTTP"); } return null; }
This pages calls a function on a separate php page to run 2 mySQL queries, the value must be put in the text 3 times in quick succession before the database is altered. I've tried all the other functions and they seem to be fine, AJAX is my weakness but I need it for the main functionality of my website. I need this to work.
question: if you want a link which simply runs a js function is it acceptable to have no href? the problem with this is the cursor doesnt change when you hover over, but if you put # as the href it jumps to the top of the screen which is sometimes unacceptable. what it the best solution to this? granted you could do event handling behind the scenes and just intercept the clicks and prevent the href from going anywhere, but sometimes you just want to stick an onclick on the anchor tag!
I have problem with event listening in CKEditor. I searched these forums for answer, but I didnt found it. I need someting like "onkeypress" on textarea for CKEditor. If I think well, I can must use "DOM" of CKEditor, because it is not simple textarea - but I am lost here. I really dont know how to do it. I need simple draft saver - onkeypress will launch a function which will check if timer is on. If yes, return false. If no, use ajax to save content of textarea.
I have a self project I am exploring. I would like to play a simple sound file each time a function is run. The function runs every second, so, basically, I am just trying to get an audible click sound file to run every time the function runs. I do not know how to play a sound file thru javascript. Here is the code file thus far...
i got an ajax script that appends a new form as the user perform some actions.then i bind them to the 'submit' event. the problem is that the existing forms get bound again and now submit twice, while the newly appended forms submit once.
is there a function to check if that form has already been bound, so that i won't bind it again? in the docs there's a unbind(). But will it slow down if i append more and more forms?
I'm making a website at [URL].. and I'm trying to create a menu using Jquery 1.3.2. Anyways, if you look at the tabs in my header, they have an effect but it only works once. After I mouse over the same tab a second time, they do not animate. I also have a similar menu at [URL].. You may notice the second menu also will fade to a darker gray. If i copy and past that code into my drupal block, it will still only animate one time. Do i need to include something extra because its version 1.3.2??? I also have another Jquery plugin below the header which is called a S3SLIDER. I'm not calling the jquery script up more than once.Here's the code for the Jquery menu at adc-design.com:
Thought I might gives this a go instead of the usual flash. Installation went fine, but the images runs a bit inconsistently? Images are 30-50kb which shouldn't be a problem. [url]
I'm wanting a table cell click event to remove and replace the table it was clicked on, however I'm finding that as it's deleting the original table object the actual running event code is being replaced and the function is bailing.how I can call the delete/refresh function from outside the event's function scope?
I use Accordion into a tab and I have a particular problem just on FF.. When I click an accordion header the whole layout move on the left side ... This is the page, so you can see my problem: [URL]
I just wonder if there is a jquery plugin or something that enable me to create a html pagelayout with drag n drop.
Lets say i have a blank page with a div container, then i have a couple of layout elements that i can drag into that container, like 2 coulmn, 1 column, 3 column.
I hope you understund what i mean. something like sitefinitys template builder but in a light version.[URL]
I subcontracted a programmer who replaced my jquery.js with a different version of jquery. This version breaks my function, but my version breaks the layout. I have a function that works with
Code: jquery.tools.min.js But not with Code: jquery.js?ver=1.4.2
Here's is my function: Code: <SCRIPT type="text/javascript"> $(document).ready(function(){ $('.theVideoLink').click(function(e){ e.preventDefault(); $('#VideoContent').load($(this).attr('href')); }); }); </script>
I need this code to work with Code: jquery.js?ver=1.4.2 But it doesn't. It works with Code: jquery.tools.min.js But this jquery.tools.min.js breaks the layout in IE7&8.
I have scroll and pagination jQuerys for a website that I am developing for a company. The jQuery works fine on all browsers until I updated firefox to 3.6.3. On FF 3.6.3 the page loads fine but once the scroll or pagination is clicked on to change pages, the entire content shifts up 200px. I was unable to find any known bugs with FF and jQuery except for certain jQuery pages not being able to load but that seems to have been resolved. I am stumped with this problem and was hoping that maybe someone would know how to resolve this. I have tried using JavaScript to detect the browser and version to load a different css but that caused the page to load weird and jQuery fixed it after scroll or pagination was activated.
I was able to deduce that the problem must be with the two columns float left and right which are position relative, but still am unable to figure out why once the pagination or scroll is clicked the columns should shift... Let me know if more information is needed, such as page source. (I will do my best to disclose all relevant information to the extent permitted by the company).