gpt4 book ai didi

javascript - 自定义 WooCommerce 消息删除 HTML 标签上的 onClick 事件

转载 作者:行者123 更新时间:2023-11-28 00:38:16 31 4
gpt4 key购买 nike

我已经覆盖了 notices/success.php 模板文件,以这种方式修改内容:

<?php foreach ( $messages as $message ) : ?>
<div class="woocommerce-message" role="alert">
<span>
<?php
echo wc_kses_notice( $message );
?>
</span>
<div onClick="alert('LOL')">TEST</div>
</div>
<?php endforeach; ?>

当我现在加载页面时,所有元素都已生成,但我的 onClick 已被删除:

<div class="woocommerce-message" role="alert"> <span> Kontodetails erfolgreich geändert. </span><div>TEST</div></div>

为什么会发生这种情况?如何在此消息中的每个 div 或 span 中保留我的 onClick?

最佳答案

要避免此问题,请不要在 <div> 上使用 onClick 事件标记,您应该使用 jQuery 脚本:

1) 覆盖的模板 notices/success.php文件(摘录):

<?php foreach ( $messages as $message ) : ?>
<div class="woocommerce-message" role="alert">
<span>
<?php
echo wc_kses_notice( $message );
?>
</span>
</div>
<div class="message-click">TEST</div>
<?php endforeach; ?>

2) jQuery 脚本:

add_action( 'wp_footer', 'message_onclick_event');
function message_onclick_event() {
?>
<script>
jQuery(function($){
$(document.body).on('click', 'div.message-click', function(){
alert('LOL');
})
});
</script>
<?php
}

代码在您的事件子主题(或事件主题)的 function.php 文件中,或在外部注册的 JS 文件中。

3) html 输出:

<div class="woocommerce-message" role="alert">
<span>Hello World</span>
</div>
<div class="message-click">TEST</div>

4) 屏幕截图 (点击“测试”时):

enter image description here

关于javascript - 自定义 WooCommerce 消息删除 HTML 标签上的 onClick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55083664/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com