简体   繁体   English

jQuery-将参数传递给函数

[英]Jquery - Passing parameters to a function

I want to pass an ID to a function that turns it to a "flyout". 我想将ID传递给将其转换为“弹出”的函数。

My base code is: 我的基本代码是:

 <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> 

I want to do this dynamically, so I tried a function. 我想动态地执行此操作,因此尝试了一个功能。 Function gets the parameter but does not create the flyout. 函数获取参数,但不创建弹出窗口。

 <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> 

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

Any idea? 任何想法?

Just make a regular function and have jquery statements in it: 只需创建一个常规函数并在其中添加jquery语句即可:

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

Do you just want to be able to pass an ID to a function that turns it to a "flyout"? 您是否只想将ID传递给将其转换为“弹出”的函数?

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

Or you could use a custom JQuery function... 或者您可以使用自定义的JQuery函数...

$.fn.createFlyout = function() {

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM