Jquery - 将参数传递给函数

时间:2017-03-08 02:55:42

标签: javascript jquery

我想将ID传递给一个函数,将其转换为" flyout"。

我的基本代码是:



<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="target_anchor1" href="#" title="XXXXXXXXXX">test 1</a>

<script type="text/javascript">
  $(function() {
    $('#target_anchor1').flyout({
      title: '',
      content: function() {
        return document.getElementById('target_anchor1').title;
      },
      html: true,
      dismissible: true
    });
  });
</script>
&#13;
&#13;
&#13;

我想动态地这样做,所以我尝试了一个功能。 函数获取参数但不创建弹出按钮。

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="target_anchor1" href="#" title="XXXXXXXXXX" onclick="anchorFlyout(this.id)">test 1</a>
<a id="target_anchor2" href="#" title="YYYYYYYYYY" onclick="anchorFlyout(this.id)">test 2</a>
<a id="target_anchor3" href="#" title="ZZZZZZZZZZ" onclick="anchorFlyout(this.id)">test 3</a>

<script type="text/javascript">
  function anchorFlyout(paramId) {
    alert(paramId);
    $('#' + paramId).flyout({
      title: '',
      content: function() {
        return document.getElementById(paramId).title;
      },
      html: true,
      dismissible: true
    });
  }
</script>
&#13;
&#13;
&#13;

代码取自http://www.jqueryscript.net/demo/Simple-Customizable-Tooltip-Popover-Plugin-Flyout

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

只需创建一个常规函数并在其中包含jquery语句:

function anchorFlyout(paramId) {
    $("#" + paramId).flyout({
        title: '',      
        content: function() {
            return document.getElementById(paramId).title;
        },
        html: true,
        dismissible: true
    });
};
anchorFlyout("target_anchor1")

答案 1 :(得分:1)

您是否希望能够将ID传递给将其变为“弹出”的功能?

function createFlyout(elementID) {
    $("#"+elementID).flyout({
        title: '',      
        content: function() {
            return document.getElementById(elementID).title;
        },
        html: true,
        dismissible: true
    });
}

或者你可以使用自定义的JQuery函数......

$.fn.createFlyout = function() {

    this.flyout({
        title: '',      
        content: function() {
            return this.attr("title");
        },
        html: true,
        dismissible: true
    });

    return this;
}
$("#myDiv").createFlyout();