将 onclick 函数设置为 laravel 中的锚定元素

Set onclick function to anchor element in laravel

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

在我的 blade 视图中

<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) 和函数 myFunction() 在那里。)

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

注意:当我将此脚本插入我的相同 blade 视图而不添加到 js 文件时,这显然有效:

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

我不是 100% 确定,但是:

我想当你想绑定锚点onclick事件时,你需要将函数绑定到window对象,就像你的app.js:

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

在我的情况下它解决了。

另一种方式(似乎是推荐的方式)是在 unobtrusive way.

中绑定

希望对你有所帮助o/