如何在单击时调用函数

How to call a function on click

本文关键字:调用 函数 单击      更新时间:2023-09-26

我在重新初始化一些代码时遇到麻烦。

我有一个插件的函数,我需要重新初始化点击。我上个月开始学习JS和PHP,所以我仍然对操纵我没有写过的代码感到不舒服。

这是我需要重新加载的代码,它在一个PHP文件中找到:

/** $return FFGeneralSettings */
public function getGeneralSettings(){
    return $this->generalSettings;
}
public function register_shortcodes()
{
    add_shortcode('ff', array($this, 'renderShortCode'));
}
public function renderShortCode($attr, $text=null) {
    if ($this->prepareProcess()) {
        $stream = $this->generalSettings->getStreamById($attr['id']);
        if (isset($stream)) {
            $settings = new FFStreamSettings($stream);
            if ($settings->isPossibleToShow()){
                /*ob_start();
                include(AS_PLUGIN_DIR . 'views/public.php');
                $file_content = ob_get_clean();
                echo $file_content;*/
                ob_start();
                include(AS_PLUGIN_DIR . 'views/public.php');
                $output = ob_get_contents();
                ob_get_clean();
                return $output;
            }
        }
    }
}

我想我会使用Javascript重新初始化上述代码中的动作?下面我画的这个骨架是对的吗?

$(document).ready(function(){
    $('a').on('click',function(){
        //does the magic happen in here?
        });
});
谢谢你的建议,到目前为止我从你们那里学到了很多!哦,如果答案是jQuery,我也无所谓。

"我有一个插件的函数,我需要重新初始化点击"

一切都取决于你想要这个函数做什么。您希望它生成一些输出以显示在您的页面上吗?您希望它只运行服务器端脚本吗?这两种方法都需要调用一个php页面来运行php代码,这可能是ajax调用的形式,但是您对结果的处理将根据您的目标而有所不同。

要使用jquery执行ajax调用,请执行如下操作:

$(document).ready(function(){
    $('a').on('click',function(){
        // magic happens here!
        $.ajax({
            url: "yourfile.php",
            method: "get",
            success: function(result) {
                // do something with your result here
                console.log(result);
            },
        });
    });
});

看起来您的代码将返回一些东西-所以上面的代码应该在success = function (result)部分中做一些事情,这可能是将输出结果放入某个元素。

如果您试图从Javascript重新加载/重新运行PHP函数,您将需要创建一个API端点,您可以从Javascript进行http调用,或者可能做一个老式的页面刷新。如果这对您来说没有意义,请再深入了解一下http请求和响应的基本原理。