我正在尝试通过按钮加载函数call_ajax_add_to_quotelist
,代码如下:
$cartlink .= '<a class="add_to_cart button alt" href="javascript:void(0);" onclick="call_ajax_add_to_quotelist(add_to_quotelist_ajax_url,'.$product->id.');" '.$style.'>'.$label.'</a>';
上面的代码在视图源上正常加载,但是点击它时显示死机没有控制台错误我已经在函数中加载了js
文件(它属于另一个插件我正在攻击一个WP插件另一个插件的相同动作)
脚本加载:
$quotePluginJSUrl = site_url().'/wp-content/plugins/dvin-wcql/js/dvin_wcql.js';
?>
<script src="<?php echo $quotePluginJSUrl; ?>"></script>
<?php
答案 0 :(得分:1)
关闭锚点
<a>...</a>
答案 1 :(得分:1)
如果call_ajax_add_to_quotelist
真的是JavaScript控制台中的一个函数,并且add_to_quotelist_ajax_url
是正确值,我首先检查一下。
此外,建议不使用onclick
。我建议使用jQuery事件绑定器.on()
。
Expl。:
<?php
$cartlink .= "<a class='add_to_cart button' data-id='{$product->id}'
href='javascript:;' {$style}>{$label}</a>";
// ... more products
?>
// **one** <script> after all products
<script>
jQuery(window).on('click', '.add_to_cart.button', function() {
call_ajax_add_to_quotelist(add_to_quotelist_ajax_url, $(this).data('id');
}
</script>
答案 2 :(得分:0)
因为您正在动态添加锚点,如果您使用JS或事件委派,如果您使用的是jQuery,则需要使用.addEventListener
e.g。
$('.button').on('click',function(){
call_ajax_add_to_quotelist(add_to_quotelist_ajax_url,'.$product->id.');
});
另外,您还没有关闭代码中的锚标记,这可能会导致一些问题:
$cartlink .= '<a class="add_to_cart button alt" href="javascript:void(0);" '.$style.'>'.$label.'</a>'