首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SmartAdmin模板页面函数运行两次错误

SmartAdmin模板页面函数运行两次错误
EN

Stack Overflow用户
提问于 2018-06-29 07:46:58
回答 1查看 139关注 0票数 1

我正在smartAdmin模板中开发web应用程序,这是完全基于ajax的模板,您可以检查演示这里。我在这个模板中遇到了一些困难。当我在某个页面上编写一个javascript函数时,它可以在所有页面上工作。

例如

代码语言:javascript
复制
$(document).on('click', '#elementA', function(){
 alert('Hello World');
});

对其他页面的元素也有相同的id,很难给所有的元素提供不同的id,因为它是一个非常大的项目,而且我已经做了6个月的工作,所以我考虑了它,并找到了解决方案,给每个页面提供唯一的id,并像这样编写脚本。

代码语言:javascript
复制
$(document).on('click', '#pageA #elementA', function(){
   alert('Hello World');
});

我以为我解决了这个问题,但是,函数没有停止处理其他页面的元素。但是当我第二次访问#PageA时,这个函数会运行两次。实际上,模板将用户定义的所有函数存储在本地内存存储中(我想,我对此并不确定),并且一直在存储,直到我们不刷新整个模板。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-29 11:16:50

好吧,经过长时间的研发,我自己解决了这个问题..。我使用loadscript()函数来防止不必要地加载两次脚本。

我把所有的脚本都写进了一个文件中(现在,我将为一个页面创建两个视图页)。

早些时候就像是..。A.php -> JScript + PHP和HTML现在它就像A.php -> PHP和HTML,script/A.php -> OnlyJS

由于我使用的是码分器框架,而且不希望其他人也通过url访问js,所以我使用了这个过程。

我的视图文件上的代码

代码语言:javascript
复制
loadScript("<?php echo site_url('processor/load_script/path_to_folder/script/add'); ?>");

对处理器控制器的作用

代码语言:javascript
复制
public function load_script($path)
{
    $last_segment = count($this->uri->segment_array());
    $path = '';
    for($i=3;$i<=$last_segment;$i++)
    {
        $path .= '/'.$this->uri->segment($i);
    }
    $this->load->view('core/ajax'.$path);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51096791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档