DOMWindow()具有多个(动态)锚点选择器

时间:2010-10-29 10:58:26

标签: jquery popup

我正在尝试扩展DOMWindow example 6以锚定到页面上的各种元素。实际上,语法意味着选择器需要是静态的,无论是类名还是id,都可以工作。但是,我想要做的是将被点击的元素的id指定为选择器,但它似乎不起作用。一个简单的例子:

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

我尝试将选择器指定为anchoredSelector: '#' + $(this).attr('id'),但.openDOMWindow不能以与.click()相同的方式使用,因此$(this)实际上并不引用所单击的元素。我也尝试了以下方法,但它也没有用:

$(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'
           });
         });
    });

有没有人建议如何实现这一目标?或者可能是可以实现相同功能的替代插件?

1 个答案:

答案 0 :(得分:1)

你可以为几乎任何需要基于你使用.each()循环所在元素的选项的插件执行此操作,如下所示:

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