JQuery :: Calling Trigger On A Selector That Returns No Elements Stops Execution?
May 15, 2011
I've got a list in which each item has a link that shows and hides a div, and also changes text of the the link. I want to write the code like this:
$(".log a").click(function() { $("#panel-" + $(this).data("build_id") + ":hidden").trigger('showLog'); $("#panel-" + $(this).data("build_id") + ":visible").trigger('hideLog'); return false; });
... but that doesn't work. It seems as though if the first selector returns no elements that the 2nd line is not executed. I might be wrong about the diagnosis, but the symptom is that I can show the log, but can't then hide it, whereas if I start with all the panels visible and remove the first selector, the hideLog event is triggered as expected.What does work is this:
$(".log a").click(function() { var panel = $("#panel-" + $(this).data("build_id")); if (panel.css("display") == 'none') { panel.trigger('showLog'); } else { panel.trigger('hideLog'); } return false; });
[code]....
View 7 Replies
ADVERTISEMENT
Dec 12, 2011
Suppose we have following javascript codes: Case 1.
var foo = function (){
var x = "hello";
var bar = function () {
alert(x);
} return bar;
} var bar_ref= foo();
document.write(bar_ref()); // it pops up "hello" and print-outs "undefined".
If we modified above code slightly, shown as follow: Case 2.
var foo = function (){
var x = "hello";
var bar = function () {
alert(x);
} return bar();
} var bar_ref= foo();
document.write(bar_ref()); // it only pops up "hello".
As you can see, Case 2 modified the return value from "return bar" to "return bar()," which won't cause the "undefined" output. To me, it looks like when the JS interpreter executes the line "bar_ref();" it triggers the execution of function "foo", besides both "return bar" and "return bar()" do the same job which is to execute function body of "bar".
The only difference is that after the execution of function bar, its function body does not exist anymore, so when the interpreter executes the line "return bar;" it follows the function identifier "bar" and ends up with "undefined". This is why the Case 1 gives us "undefined", but I am not quite clear about why the Case 2 can trace down to the function body of "bar". Do you have any ideas about such difference outputs?
View 3 Replies
View Related
Jan 30, 2011
New to javascript and I have the following code in onSubmit() validation:
else if (cofaCOURRIEL == null || cofaCOURRIEL == "") {
alert('Le champ COURRIEL doit ĂȘtre rempli.');
document.forms["COFA_AIG"] ["COURRIEL"].focus();
return false;
}
else if (cofaCOURRIEL) {
if ( (atPOS < 1) || (dotPOS < atPOS + 2) || ((dotpos + 2) >= cofaCOURRIEL.length) ) {
alert('Adresse de courriel invalide.');
document.forms["COFA_AIG"] ["COURRIEL"].focus();
return false;
}}
else if (cofaDATE == null || cofaDATE == "") {
alert('Le champ DATE doit ĂȘtre rempli.');
document.forms["COFA_AIG"] ["DATE"].focus();
return false;
}
I understand it is not the best way to validate client side, but I will be doing php server side validation as well. My problem is that once the variable "cofaCOURRIEL" is valid, the script stops and returns true....not sure why...I'm guessing I'm missing an "else" statement after the embedded "if" statement, but I'm only guessing and if I'm correct, I wouldn't know what to put in the else statement to let it not break out of the validation. Any input?
View 1 Replies
View Related
May 12, 2011
Trying to figure out what was happening in a snippet in the jQuery docs. The snippet I refer to is here , documenting event objects.
The code:
Has me a tad confused. I know that e is an event object that calls keydown event for keycode 64 but what I am unsure of is how it is being triggered. There is no context to it, if you use .trigger() that way is the event called upon the loading of the object? If not when is .trigger() being called?
View 4 Replies
View Related
Jun 29, 2010
If you call the below code, it will incorrectly print "true, false" when it should be "true, true". WHy is that? How do I fix this?
Code: isCapitalLetter = /[A-Z]/g;
//Incorrectly alerts "true,true"
alert( isCapitalLetter.test( "lineHeight" ) + "," + isCapitalLetter.test( "lineHeight" ) );
View 3 Replies
View Related
Mar 12, 2010
I have an element generator using jquery, However, elements generated were not affected by the event (click) even though they match tag and class name.
Code:
<html>
<head>
[code]....
View 4 Replies
View Related
Mar 15, 2011
I return json string and loop through the results putting items in Div's and want can't seem to access the class attribute / selector.
$.getJSON(strUrl, function
(data) {
var
items = [];
[Code].....
View 1 Replies
View Related
Dec 21, 2010
I am learning jQuery now and have a big interest in this javascript framework. I am trying to bind an event to more than one element. I won't meet any problem if using selector. But now, I've created a function which I will pass the element. And I need within this function, to bind the code. This is my current code :
function updateDay(dayObj, monthObj, yearObj){
//I want to bind both monthObj and yearObj.
yearObj.change(function(){
//do something
});
monthObj.change(function(){yearObj.change()});
}
$(document).ready(function(){
updateDay( $("#day"), $("#month"), $("#year"));
});
As you can see, I must bind twice, once for yearObj, the other for monthObj. Is there anyway to bind the change() event only once? If there are some logic mistake in using function or such as feel free to point out, since I still haven't read all the documentation yet.
View 1 Replies
View Related
Jun 3, 2010
Let's say $pages is a collection containing all div elements that have an id of page1 or page2. From this, I wish now to select now only the page div (i.e page1 or page2) that contains a descendant with a class of 'A'. Tried lots of things, just can't get the format right.
View 5 Replies
View Related
Sep 6, 2011
I've been fiddling around with a bit of javascript in a chrome extension - something to alter the Google buzz webpage.I'm trying to find each individual post basically and have the following:
var entry =$('.X0POSb'); //This main block contains the bulk of Google buzz content
console.log(entry);
var items = entry.find('.G3.G2');
[code]...
View 4 Replies
View Related
Mar 1, 2010
The jQuery isn't working when calling elements placed in conditional statements. My sample code is shown below. This code works beautiful if the if/else conditions aren't there. What is the problem? Is there something wrong with my code? Is there a workaround? I absolutely need to use a conditional statement in my production code.
<?php
$test = 'true';
print "
[code]....
View 5 Replies
View Related
Jul 23, 2005
Anyone know of a script which returns a list of elements matching a
specified CSS selector?
View 2 Replies
View Related
May 12, 2011
I want to do something like this
<div>
<p>
<p class="active">
[code]....
View 7 Replies
View Related
Feb 4, 2010
I have a div on my page witch is hidden : AddSupplier, I have a button on my page witch must show the div if its not visible, but the same button saves some stuff if the div is visible.So all that is working but in this AddSupplier div there is a select box "ddSupplierTypes" and when the select box gets clicked the AddSupplierButton click event gets triggered why is this, and is there a work around?
<%@ Page Language="C#" %>
$
().
[code]....
View 1 Replies
View Related
Oct 8, 2009
Either I'm having a really dim Friday, or something strange is going on. I'm trying to add a method to the Validator plugin, using the following regex:
[Code]....
View 1 Replies
View Related
Jun 12, 2010
In the below code, the alert message returns in one instance: 'someAnimal is [Mammal "Mr. Biggles"]' I don't understand how this is possible. We pass as an argument 'Mr. Biggles' to the Mammal constructor. Then assign it to the object name property. But then it ends there. There is a function called toString which will return the alert. But the toString function is not being called like this: alert('someAnimal is '+someAnimal.toString()); If it was like how it is above, it would make sense to me but now it makes no sense to me because I don't see where that toString() is being called - I only see that it is prototyped to the Mammal object.
Code:
function Mammal(name){
this.name=name;
this.offspring=[];
}
Mammal.prototype.haveABaby=function(){
var newBaby=new Mammal("Baby "+this.name);
this.offspring.push(newBaby);
[Code]....
View 2 Replies
View Related
Feb 4, 2010
I have been a mainframe programmer for over 20 years - I have a new project that requires browser pages written in JavaScript. I currently begin with a HTML page that assigns the values retrieved from a third party vendor's API to an array. I pass this array to another page to build a table full of links - when a client clicks on one of the links, two variables are put into yet another array and a third page is called, successfully passing the required data. Ultimately page 1 and page 3 will be .asp pages so that additional third party vendor API's can be called. The problem is this: after the third page is called from the second page, it displays for a second and then returns to the second page. When I click back I can see the third page, followed by the second page, and finally the first page. My question is this: why is the third page not displaying in the browser? I'm sorry if I have not posted this correctly as I really am a mainframe programmer and this is my first time doing anything code related with web pages
View 8 Replies
View Related
Nov 11, 2011
I'm trying to load some html content into a page via the ajax .load() method (wrapped within the $(document).ready() function).After I execute this, I'd like to bind all new span elements from the loaded content to a context menu plugin like this:
$("#selector").contextMenu({
menu: ''myMenu''
},
[code]....
Unfortunately since the span elements are coming from the ajax request,I don't think I can bind a normal event handler as per the plugin. [URL] how to use event bubbling in this situation.
View 3 Replies
View Related
Feb 21, 2011
I'm using the Cycle plugin to display images for some of my past projects onhttp:[URL]..projekteMy problem is that in Chrome i get the above error in console.([cycle] terminating; zero elements found by selector) I have tried manually initializing the Cycle plugin for every project div and that did not help so I went back to my initial code:
[Code]...
View 4 Replies
View Related
Feb 22, 2010
I need to add an event for all elements that are not text entry.I have tried this
$(':not(input:text, input:textarea)')
$(':not(:text, :textarea)')
I tried to get it to work for just not type=text
$(':not(:text)')
$(':not(input:text)')
I can't seem to figure it out.
View 5 Replies
View Related
Dec 2, 2010
I wanna implement a button that shows the context menu. I already implemented[URL].. I am now searching for hours about those 2 terms but have not found an answer yet. Also tried to trigger it myself but had no success yet.
View 1 Replies
View Related
Sep 8, 2011
Are there any difference between class selector and ID selector
View 2 Replies
View Related
Jun 24, 2009
is there any specific function in Javascript / jquery which delay the functionality
I use SLEEP() funciton in php to add delays .
View 3 Replies
View Related
Apr 7, 2010
I try to make something where you add elements, and can delete elements later by calling a simple function. I simplyfied it right here: It works only to add the paragraphs, but the delete function doesn't work. Tried already to debug with an alert message after each rule... but the problem is with this rule I guess:
[Code]...
View 2 Replies
View Related
Jun 5, 2009
I'm trying to find an example of a country selector (which also provides a state selector if USA is chosen) then you cvan select the city, any samples out there?
View 2 Replies
View Related
Aug 8, 2011
I currently have a situation where I have images that load when a user scrolls to the bottom of a page. I also have part of the same function call .remove() on the top 2 images if the number of currently loaded images exceeds 10. The trouble that I am having lies in the .remove() is causing the scrollbar to move down, calling the image-loading part of the function again (essentially a chain reaction of image loads and elements being removed if a user scrolls down while images are being loaded).
I was wondering if I can use setTimeout or a similar function to prevent .remove() from executing until images have been completely loaded?
$("#message").html(calcScroll);
if (calcScroll == 0 && curPageIndex + 1 < totalCount) {
$("#message").html("loading new images");
window.setTimeout(function () {
[Code].....
View 2 Replies
View Related