Thanks to another problem I had, I've changed my code to this (which fixed
my issue):

bindEdit = function(){
        var linkval = $j('#edit').attr("href");
        if (linkval != ''){
            $j('#edit').click(function(){
                $j('#jobinfodisplay').load(linkval);
                return false;
            });
        }
    };

But you're saying that I should be able to do this:

bindEdit = function(){

            $j('#edit').click(function(){
                var linkval = $j('#edit').attr("href");
                $j('#jobinfodisplay').load(linkval);
                return false;
            });

    };


On 4/20/07 1:00 PM, "Ariel Jakobovits" <[EMAIL PROTECTED]> wrote:

> 
> no it should not throw an error.
> 
> j("#edit") will return an empty array is all and the bind will not be called.
> 
> ----- Original Message ----
> From: Shelane Enos <[EMAIL PROTECTED]>
> To: jquery-en@googlegroups.com
> Sent: Friday, April 20, 2007 9:10:58 AM
> Subject: [jQuery] Re: find.click vs bind("click")
> 
> 
> OK, going back to this function:
> *$j(function(){
>     bindEdit = function(){
>         $j('#edit').bind("click", function(){
>             var linkval = $j(this).attr("href");
>             $j('#jobinfo').load(linkval, function(){
>                 bindEdit();
>             });
>             return false;
>         });
>     }
>     //bindEdit();
> });
> 
> If it's a case where the item 'edit' doesn't exist on the loaded page, it
> would cause an error, correct?  If so, how do I first check if it exists,
> then only do the binding if it exists?
> 
> 
> 
> 
> On 4/17/07 10:12 PM, "Ariel Jakobovits" <[EMAIL PROTECTED]> wrote:
> 
>> 
>> be aware that sometimes when a javascript error occurs in front of the return
>> false, it will cause the link to activate.
>> 
>> are you using firebug?
>> 
>> if so, find the one catch(e) in the jquery.js file that is worth setting a
>> breakpoint at and see if the script stops there.
>> 
>> 
>> ----- Original Message ----
>> From: Shelane Enos <[EMAIL PROTECTED]>
>> To: jquery-en@googlegroups.com
>> Sent: Tuesday, April 17, 2007 11:26:16 AM
>> Subject: [jQuery] Re: find.click vs bind("click")
>> 
>> 
>> Unfortunately this is an internal application.  The jQuery code on the page
>> is just this (I have the one function commented out b/c I couldn't get that
>> to work):
>> 
>> var $j = jQuery.noConflict();
>> 
>> function setStatus(statname, statID, stattitle){
>>     if (statID != '')
>>         var method = 'remove';
>>     else
>>         var method = 'add';
>>     $j.post('/admin/includes/tools/runtime.lasso' + subargs, { catalog:
>> 'hirestatus', method: method, statusID: statID, hrstatus: stattitle,
>> statname: statname, statusDate: myDate });
>>     return false;
>> }
>> 
>> modify = function(){
>>     $j("#changedmessage").text("Click Update to save changes");
>>     document.jobinfo.method.value="Update";
>>     document.jobinfo.method.disabled=false;
>> }
>> 
>> /*$j(function(){
>>     bindEdit = function(){
>>         $j('#edit').bind("click", function(){
>>             var linkval = $j(this).attr("href");
>>             $j('#jobinfo').load(linkval, function(){
>>                 bindEdit();
>>             });
>>             return false;
>>         });
>>     }
>>     //bindEdit();
>> });*/
>> 
>> function loadEdit(){
>>     var linkval = $j('#edit').attr("href");
>>     $j('#jobinfo').load(linkval);
>>     return false;
>> }
>> 
>> 
>> The "link" I'm trying to load is on a page like this:
>> 
>> <a 
>> href="/job.lasso?page=job&cid=6a3b9887af24e894&section=sl_in&jobpage=descrip
>> t&view=edit" id="edit" onclick="loadEdit(); return false;"><img
>> src="/images/edit.gif" border="0" height="17" width="10"></a>
>> 
>> On 4/17/07 11:04 AM, "John Resig" <[EMAIL PROTECTED]> wrote:
>> 
>>> 
>>> Do you have an example with a full page, there's probably another issue
>>> here.
>>> 
>>> --John
>>> 
>>> On 4/17/07, Shelane Enos <[EMAIL PROTECTED]> wrote:
>>>> 
>>>> I changed to this:
>>>> function loadEdit(){
>>>>     var linkval = $j('#edit').attr("href");
>>>>     $j('#jobinfo').load(linkval);
>>>>     return false;
>>>> }
>>>> 
>>>> And added the function itself to my link.  onclick=loadEdit();
>>>> The return false in the function isn't working.  If I put it in the onclick
>>>> (onclick=loadEdit(); return false;) then the page is loaded properly.
>>>> Otherwise the function (even with the return false in the function) is
>>>> allowing link to be followed anyway.
>>>> 
>>>> 
>>>> On 4/17/07 10:22 AM, "Shelane Enos" <[EMAIL PROTECTED]> wrote:
>>>> 
>>>>> 
>>>>> So I'm trying this:
>>>>> 
>>>>> $j(function(){
>>>>>     bindEdit = function(){
>>>>>         $j('#edit').bind("click", function(){
>>>>>             var linkval = $j(this).attr("href");
>>>>>             $j('#jobinfo').load(linkval, function(){
>>>>>                 bindEdit();
>>>>>             });
>>>>>             return false;
>>>>>         });
>>>>>     }
>>>>>     bindEdit();
>>>>> });
>>>>> 
>>>>> Which to me says bind an onclick function to an a tag with ID 'edit'.
>>>>> Read
>>>>> the value of it's href (pages are dynamically loaded an hrefs change).
>>>>> Load
>>>>> the link into the div id "jobinfo" and now call bindEdit to bind the click
>>>>> event to the edit link on the newly loaded page.  Return false so it
>>>>> doesn't
>>>>> follow the link as a normal link.
>>>>> 
>>>>> OK, so it doesn't work.  The page loads normally instead of into the div
>>>>> via
>>>>> ajax and I get "too much recursion" errors in the console.
>>>>> 
>>>>> Am I doing something wrong here?
>>>>> 
>>>>> 
>>>>> On 4/17/07 9:57 AM, "spinnach" <[EMAIL PROTECTED]> wrote:
>>>>> 
>>>>>> 
>>>>>> .bind('click') is faster because you bind it directly to the element,
>>>>>> .find() must first find the element inside the #jobinfo element and then
>>>>>> bind the appropriate event..
>>>>>> 
>>>>>> there is no difference between .bind('click') and .click(), .click is
>>>>>> just an alias for .bind('click').. and if i'm not mistaken, .click was
>>>>>> taken out of the core since 1.1 (i may be wrong, i know some aliases
>>>>>> were removed, but not sure which - so i just use .bind for everything
>>>>>> :))..
>>>>>> 
>>>>>> dennis.
>>>>>> 
>>>>>> Shelane Enos wrote:
>>>>>>> What is the difference, advantage/disadvantage of these different
>>>>>>> methods:
>>>>>>> 
>>>>>>> bindEdit = function(){
>>>>>>> $j('#edit').bind("click", function(){
>>>>>>>             var linkval = $(this).attr("href");
>>>>>>>             $j('#jobinfo').load(linkval, function(){
>>>>>>>                 bindEdit();
>>>>>>>             });
>>>>>>>             return false;
>>>>>>>         });
>>>>>>> }
>>>>>>> 
>>>>>>> bindEdit = function(){
>>>>>>> $j('#jobinfo').find('#edit').click(function(){
>>>>>>>             var linkval = $(this).attr("href");
>>>>>>>             $j('#jobinfo').load(linkval, function(){
>>>>>>>                 bindEdit();
>>>>>>>             });
>>>>>>>             return false;
>>>>>>>         });
>>>>>>> }
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
>> 
>> 
>> 
> 
> 
> 
> 
> 

Reply via email to