jQuery é até a versão 1.4! Além de vários novos recursos e reescrever o "usual" do código, tudo documentação foi revisto, de modo muito mais legíveis do que antes. impostato a _blank ! Mas vemos a questão deste post; problema: adicionar, usando jQuery, uma classe para todas as marcas a possuir o atributo target definido para _blank !
Artigos com a tag 'target'
Como selecionar um grupo de marcas que não têm filhos de um certo tipo
iPhone: criar uma forma de responder aos eventos que atravessam classe
Normalmente, um evento, que nada mais é que uma mensagem é fixo (definido e implementado) na mesma classe ou contexto, a função ou procedimento "chamador". o in un UIViewController . Por exemplo, se adicionar um botão UIButton via código (de programação), podemos encontrar a nossa classe em um UIView ou um UIViewController . Em ambos os casos, a atribuição de tarefas e de inicialização do botão será seguido pela definição de target que deverá receber uma mensagem quando ele "clica" no botão, digite:
1 2 3 4 5 6 7 8 9 | [ UIButton buttonWithType : UIButtonTypeRoundedRect ] ; UIButton botão * = [UIButton buttonWithType: UIButtonTypeRoundedRect]; 10 , 180 , 300 , 30 ) ; bottone.frame = CGRectMake (10, 180, 300, 30); @ "Press me" forState : UIControlStateNormal ] ; [Botão setTitle: @ "Prima-me" forState: UIControlStateNormal]; / / Decida quem deve receber a mensagem UIControlEventTouchUpInside self action : @selector ( onButtonClicked ) forControlEvents : UIControlEventTouchUpInside ] ; Botão [AddTarget: acção de auto: @ selector (onButtonClicked) forControlEvents: UIControlEventTouchUpInside]; / / ... void ) onButtonClicked { - (Void) {onButtonClicked / / ... } |
Linha 5 do código mostrado acima decide quem (sujeito) e aquilo (método) "Chamada" quando o nosso botão é pressionado. No exemplo ilustrado acima é também conhecido que a pressão definindo da mensagem é enviada para o método onButtonClick implementado abaixo, e, em seguida, fazendo parte do mesmo contexto (ou classe). potremmo inviare il nostro messaggio ad un qualsiasi altro oggetto, posto quindi al difuori del contesto in uso. A primeira consideração é óbvio que podemos fazer, então, é que, alterando os parâmetros self e action podemos enviar nossa mensagem para qualquer outro objeto, em seguida, coloque também fora do contexto em uso. : Aqui está um exemplo: uma classe UIApplicationDelegate criar um UIViewController :
1 2 3 4 5 | / / / / MyAppDelegate.m / / SplashScreenController alloc ] ; splashScreenController = [SplashScreenController alloc]; splashScreenController.view ] ; [Janela addSubview: splashScreenController.view]; |
associata al UIViewController stesso: O SplashScreenController expõe um método que permite animar o UIView associado UIViewController mesmo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | / / / / SplashScreenController.m / / void ) animateBackgroundDown { - (Void) {animateBackgroundDown nil context : nil ] ; [UIView beginAnimations: contexto nil: nil]; 0.75 ] ; [UIView setAnimationDuration: 0,75]; UIViewAnimationCurveEaseInOut ] ; [UIView setAnimationCurve: UIViewAnimationCurveEaseInOut]; self ] ; [SetAnimationDelegate UIView: auto]; @selector ( onAnimationFinished ) ] ; [UIView setAnimationDidStopSelector: @ selector (onAnimationFinished)]; CGRect ) { 0 , 480 , 320 , 480 } ; self.view.frame = (CGRect) {0, 480, 320, 480}; ; [UIView commitAnimations]; } / / ... void ) onAnimationFinished { - (Void) {onAnimationFinished "Animazione terminata" ) ; NSLog (@ "Animação terminada"); } |
. O código acima mostra um método definido dentro da classe SplashScreenController tipo UIViewController . ) onAnimationFinished definito più sotto, facente parte sempre della classe SplashScreenController . Ele não faz nada, mas animar o UIView animá-lo para baixo, e quando a animação é completa, ligue para (enviar uma mensagem para si - daí self ) onAnimationFinished definido abaixo, é parte da classe sempre SplashScreenController . , non saremo informati della fine dell'animazione: Segue-se que no nosso myAppDelegate , quando invocamos o método animateBackgroundDown , não vamos ser informado do fim da animação:
1 2 3 4 | / / / / MyAppDelegate.m / / ; [SplashScreenController animateBackgroundDown]; |
O que nós queremos, em vez disso, é criar uma nova versão do animateBackgroundDown como a dizer-lhe para onde enviar a animação final da mensagem e qual método chamar. Na prática, queremos ter certeza que você pode escrever em nossa classe myAppDelegate :
1 2 3 4 5 6 7 8 | / / / / MyAppDelegate.m / / self selector : @selector ( onAnimationFinished ) ] ; [SplashScreenController animateBackgroundDown: seletor self: @ selector (onAnimationFinished)]; / / ... void ) onAnimationFinished { - (Void) {onAnimationFinished "Animazione terminata" ) ; NSLog (@ "Animação terminada"); } |
, bensì in myAppDelegate . Desta vez, o método onAnimationFinished não está no UIViewController , mas em myAppDelegate . nel modo seguente: Para fazer isto simplesmente alterar o método animateBackgroundDown em UIViewController como se segue:
1 2 3 4 5 6 7 8 9 10 11 12 | / / / / SplashScreenController.m / / void ) animateBackgroundDown : ( id ) target selector : ( SEL ) selector { - (Void) animateBackgroundDown: (id) alvo seletor: (SEL) seletor { nil context : nil ] ; [UIView beginAnimations: contexto nil: nil]; 0.75 ] ; [UIView setAnimationDuration: 0,75]; UIViewAnimationCurveEaseInOut ] ; [UIView setAnimationCurve: UIViewAnimationCurveEaseInOut]; target ] ; [SetAnimationDelegate UIView: target]; selector ] ; [UIView setAnimationDidStopSelector: selector]; CGRect ) { 0 , 480 , 320 , 480 } ; self.view.frame = (CGRect) {0, 480, 320, 480}; ; [UIView commitAnimations]; } |
). Agora temos um método que aceita o "contexto" ( target ) eo método a ser chamado ( selector ). a qualsiasi altro “oggetto” / classe in grado di riceverlo. Agora, quando a animação termina, a mensagem AnimationDidStop será enviado para myAppDelegate qualquer "objeto" outro / classe que pode recebê-lo.
Muito curto trecho: jQuery auto link de destino em branco
Nada de novo, mas o sinal para me lembrar: como adicionar uma imagem a todos os links que abrem uma nova página:
1 | ) . addClass ( 'external' ) ; jQuery ('a [@ target = _blank]') addClass ("externo").; |






Últimos Comentários
simone : bom e claro! Parabéns e obrigado, um cumprimento
Giovambattista Fazioli : @ Vik: validação é sempre uma questão difícil de gerir, como deveria ...
vik : Usuários campos personalizados parece interessante, deve ser adicionada a capacidade de validar o campo com base em ...
kOoLiNuS : @ Giovambattista Fazioli: obrigado! mais do que dispostos!
Giovambattista Fazioli : @ kOoLiNuS: Calmo, provavelmente você pode antecipar que WPX Cleanfix será livre, e ...