2010-10-29 6 views
0

J'essaie d'étendre DOMWindow example 6 pour ancrer à divers éléments de la page. Comme il est, la syntaxe implique que le sélecteur doit être statique, que ce soit le nom de la classe ou l'ID, les deux fonctionnent. Ce que je voudrais faire, cependant, est d'assigner l'identifiant de l'élément cliqué en tant que sélecteur, mais cela ne semble pas fonctionner. Un exemple simple:DOMWindow() avec plusieurs sélecteurs d'ancrage (dynamiques)

$(function() { 
     $('.example6DOMWindow').openDOMWindow({ 
      height: 100, 
      width: 300, 
      positionType: 'anchored', 
      anchoredClassName: 'exampleWindow6', 
      anchoredSelector: '#someid', 
      eventType: 'click', 
      windowSource: 'ajax', 
      windowHTTPType: 'post' 
     }); 
    }); 

j'ai essayé de préciser que sélecteur anchoredSelector: '#' + $(this).attr('id'), mais .openDOMWindow ne peut pas être utilisé de la même manière que .cliquez(), donc $ (cela) ne se réfère pas vraiment à l'élément cliquée. J'ai également essayé ce qui suit, mais cela n'a pas fonctionné non plus:

$(function() { 
     $('.example6DOMWindow').click(function() { 
      var link = $(this); 
      link.openDOMWindow({ 
       height: 100, 
       width: 300, 
       positionType: 'anchored', 
       anchoredClassName: 'exampleWindow6', 
       anchoredSelector: '#' + link.attr('id'), 
       eventType: 'click', 
       windowSource: 'ajax', 
       windowHTTPType: 'post' 
      }); 
     }); 
    }); 

Quelqu'un a-t-il des suggestions pour que cela soit possible? Ou peut-être d'autres plug-ins qui peuvent atteindre la même fonctionnalité?

Répondre

1

Vous pouvez le faire génériquement pour à peu près tout plug-in qui a besoin d'une option en fonction de l'élément que vous êtes avec une boucle .each(), comme ceci:

$(function() { 
    $('.example6DOMWindow').each(function() { 
    $(this).openDOMWindow({ 
     height: 100, 
     width: 300, 
     positionType: 'anchored', 
     anchoredClassName: 'exampleWindow6', 
     anchoredSelector: '#' + this.id, 
     eventType: 'click', 
     windowSource: 'ajax', 
     windowHTTPType: 'post' 
    }); 
    }); 
}); 
+0

fonctionne parfaitement, merci. Bon à savoir pour l'avenir aussi. J'ai commencé à travailler sur les lignes de $ ('. Example6DOMWindow'). Click (function() {$ .openDOMWindow ({..});}); mais ça ne fonctionnait pas vraiment, le lien suivait pour une raison quelconque. – Shagglez

Questions connexes