【问题标题】:Set onclick function to anchor element in laravel将 onclick 函数设置为 laravel 中的锚元素
【发布时间】:2018-04-28 18:42:30
【问题描述】:

我正在开发一个 laravel 应用程序,我想在那里为 Html anchor 元素设置一个 onclick 函数。 所以我按照以下方式创建它。

在我的刀片视图中

<a class='compon' id="{{$value[1]}}" href="#" onclick="return myFunction();">
    <div class="mq-friends thumbnail">
       <div class="mq-friends-footer">
          <small>{{$value[0]}}</small>
       </div>
    </div>
</a>

我的resources/assets/js/app.js

function myFunction() {
    console.log('whatever');
    return true;
}

这不起作用,(我还仔细检查了 app.js 文件是否已使用 laravel-mix (npm run dev) 内置到 public/js/app.js 中,并且函数 myFunction() 在那里。)

我想知道为什么它不起作用? blade有什么问题吗?

注意:当我将此脚本插入到我的同一个刀片视图中而不添加到 js 文件中时,这显然是有效的:

<script type='text/javascript'>
     function myFunction()
     {
          console.log('whatever');
          return true;
     }
</script> 

【问题讨论】:

  • 注意定义和调用之间的区别。 onclick="返回我的函数();"而函数 Function() {
  • 如果它对您有帮助,我可以写它作为您批准的答案吗?
  • 哎呀抱歉,事实并非如此,这是我问问题时的错误,因为我很简单地更改了它以理解为适合此处的问题..

标签: javascript php html laravel blade


【解决方案1】:

我不是 100% 确定,但是:

我认为当你想绑定锚onclick事件时,你需要将函数绑定到窗口对象,就像你的app.js中这样:

  window.myFunction = function(ev) {
     console.log(ev)
  });

在我的情况下它解决了。

另一种方式(似乎是推荐的方式)是绑定到unobtrusive way

希望对你有帮助

【讨论】:

  • 我很高兴它帮助了 o/
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-13
  • 2020-01-01
  • 2014-10-01
  • 2021-11-28
  • 2018-03-07
相关资源
最近更新 更多