在JQuery中调用函数

时间:2015-02-20 11:48:12

标签: jquery html

大家好我需要打电话给这个剧本:

<script type="text/javascript">
    /* var bcf_settings = { buttonText:'Contact Us', buttonTop:'30%', language:'en_US' }; // Better Contact Form Settings */
    (function(d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0];
        js = d.createElement(s);
        js.id = id;
        js.src = "http://bettercontactform.com/contact/media/0/5/058aba0d4d2a6e62dff91304ae52fde4746db476.js";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, "script", "bcf-render"));
</script>

使用此按钮:

 <a href="" class="button-big">Click</a>

我该怎么办?感谢。

2 个答案:

答案 0 :(得分:2)

您的函数当前是IIFE(立即调用的函数表达式)。如果您想通过按钮点击或其他任何地方来调用它,您需要存储对它的引用:

<script type="text/javascript">
    /* var bcf_settings = { buttonText:'Contact Us', buttonTop:'30%', language:'en_US' }; // Better Contact Form Settings */
    var namedFunction = (function a (d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0]; js = d.createElement(s); js.id = id;
        js.src = "http://bettercontactform.com/contact/media/0/5/058aba0d4d2a6e62dff91304ae52fde4746db476.js";
        fjs.parentNode.insertBefore(js, fjs);
        return a;
        }(document, "script", "bcf-render"));
</script>

然后你可以通过按钮上的jQuery click事件调用该函数(因为你已经标记为jQuery):

<script>
    $(function () {
        $('.button-big').click(function () {
            namedFunction(document, "script", "bcf-render");
        });
    });
</script>

编辑:快速查看bettercontactform.com后,看起来它正在寻找一个带有bcf_trigger

的id和rel属性的bettercontactform.com链接

尝试在链接中添加以下内容(请务必将其余代码保持不变,忽略我之前的建议)。

<a href="http://bettercontactform.com" class="button-big" id="bcf_trigger" rel="bcf_trigger">Click</a>

答案 1 :(得分:0)

您应该稍微修改您的脚本并为该函数指定一个名称 - 例如&#34; showContactForm&#34;:

function showContactForm() {
    var js, fjs = document.getElementsByTagName("script")[0];
    js = document.createElement("script");
    js.id = "bcf-render";
    js.src = "http://bettercontactform.com/contact/media/0/5/058aba0d4d2a6e62dff91304ae52fde4746db476.js";
    fjs.parentNode.insertBefore(js, fjs);
}

然后将其称为以下方式 - 将其添加到onclick处理程序:

<a href="#" class="button-big" onclick="showContactForm()">Click</a>