jQuery .preventDefault ();

J'ai un 2 scripts jQuery - avant de me ajoutée .preventDefault, et une copie de la même script après j'ai ajouté le .preventDefault. jQuery fonctionne dans la première, mais pas après l'ajout .preventDefault()

Script Initial qui fonctionne

$(window).load(function(){  
       $(document).ready(function(){  
         $("span[id$='_ff5_1']").each(function() { //returns a collection of elements that must be iterated through using each
            if ($(this).text() == "Yes") { //test value returned from non-input field
                clearID(); 
                $("tr.anon").hide(); 
            } else {
                $("tr.anon").show();
            }   
         });
         if ($("select[title='action']").val() == "") {   
           $("tr.actDet").hide();      
         }
         $("select[title='organizationalElement']").focusout(function() {          
           if ($(this).val() === "I don\'t know") {             
             alert("If no organizational element is selected, additional time may be required to route this request");         
           } //close if    
            $("select[title='action']").change(function(){         
               $(".actDet").toggle($(this).val()!= "");     
            }); //close action.change
        });//close select.focusout
       }); //close doc.ready 
    }); //close window.load 

Script qui ne fonctionne pas...

$(window).load(function(){  
   $(document).ready(function(){  
     $("span[id$='_ff5_1']").each(function() { //returns a collection of elements that must be iterated through using each
        if ($(this).text() == "Yes") { //test value returned from non-input field
            clearID(); 
            $("tr.anon").hide(); 
        } else {
            $("tr.anon").show();
        }   
     });
     if ($("select[title='action']").val() == "") {   
       $("tr.actDet").hide();      
     }
     $("select[title='organizationalElement']").focusout(function() {          
       if ($(this).val() !== "I don\'t know") {
         $(this).preventDefault();
       } else {             
         alert("If no organizational element is selected, additional time may be required to route this request");         
       } //close if    
        $("select[title='action']").change(function(){         
           $(".actDet").toggle($(this).val()!= "");     
        }); //close action.change
    });//close select.focusout-- close edit record stuff
   }); //close doc.ready 
}); //close window.load 

Le seul changement que j'ai fait est la première instruction if devient un if/else qui appelle .preventDefault(). Le premier script fonctionne très bien, mais le second script échoue. Pourquoi? Je vais appeler la .méthode preventDefault() si la valeur de la organizationalElement est idk sur un enregistrement existant.

@André: À préciser sur votre modifier... dois-je revoir mon script:
...

   if ($(this).val() !== "I don\'t know") {
     $(this).click( function(e) { e.preventDefault(); } );
   } else {             
     alert("If no organizational element is selected, additional time may be required to route this request");         
   } //close if

...
b/c je l'ai noté qu'il fonctionne correctement si je change $(this).preventDefault(); à l'e.preventDefault();

Vous êtes peut-être en essayant de montrer comment l'écrire si je veux fixer la méthode de l' $(this) objet comme je l'avais écrit à l'origine?

source d'informationauteur jg100309