javascript – Yii2按钮onclick匿名函数

前端之家收集整理的这篇文章主要介绍了javascript – Yii2按钮onclick匿名函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是Yii2的新手,我正在努力通过按Yii2按钮来触发匿名功能.
下面是6个样本,其中前两个是好的.
但这并不是我想要的.
我想知道如何让一个匿名函数工作,比如“Button 3”和“Button 5”的情况.我测试了如何通过Controller进行函数调用,这样可以正常工作,但这不是我想要的.非常感谢你的帮助 – 谢谢!
// This works
$button1 = Button::begin ( 
[
'label' => 'Button 1','options' => [
    'class' => 'btn btn-primary','onclick' => 'alert("Button 1 clicked");',],]);
$button1->run();

// This works
echo Html::button('Button 2',[ 'class' => 'btn btn-primary','onclick' => 'alert("Button 2 clicked");' ]);

// This DOES NOT work
echo Html::button('Button 3','onclick' => 'function ( $event ) { alert("Button 3 clicked"); }' ]);

// This DOES NOT work
$button4 = Button::begin ( 
[
'label' => 'Button 4',// 'onclick' => 'alert("Button 1 clicked");',]);
$button4->on('onclick','alert("Button 4 clicked");' );
$button4->run();


// This DOES NOT work
$button5 = Button::begin ( 
[
'label' => 'Button 5','onclick' => 'function ( $event ) { alert("Button 5 clicked"); }',]);
$button5->run();

// This DOES NOT work
$button6 = Button::begin ( 
[
'label' => 'Button 6',//'onclick' => 'function ( $event ) { alert("Button 4 clicked"); }',]);
$button6->on('onclick','function ( $event ) { alert("Button 6 clicked"); }' );
$button6->run();

解决方法

您可以将匿名函数包装在自执行匿名函数()()中.

所以你的第二个例子看起来像这样.

echo Html::button('Button 3','onclick' => '(function ( $event ) { alert("Button 3 clicked"); })();' ]);

搜索Google以了解有关在Javascript中自动执行匿名函数的更多信息.你应该找到大量的信息和例子.

猜你在找的JavaScript相关文章