Jquery onclick无效

时间:2013-11-08 07:10:09

标签: jquery wordpress onclick

我在下面有这个代码,我要做的是在我的按钮上添加一个onclick事件来运行ShowDetails函数,我可以看到该属性已被添加,但是当我点击链接时,没有任何反应,我期待看到我的警觉。

(function($){
        $(function(){
                function ShowDetails(){
                        alert('hjhjkhjkh');
                }
                $('a.woocommerce-main-image').attr("href", "#");
                $('a.woocommerce-main-image').attr("onclick", "javascript:ShowDetails()");
        });
})(jQuery);

2 个答案:

答案 0 :(得分:2)

更改

  1. 您可以将dom ready handler和IIFE组合如下
  2. 使用.click()注册处理程序
  3. ,而不是使用内联点击处理程序

    尝试

    jQuery(function ($) {
        function ShowDetails() {
            alert('hjhjkhjkh');
        }
        $('a.woocommerce-main-image').attr("href", "#").click(ShowDetails);
    });
    

    为什么它不起作用:因为你使用了内联事件处理程序,js引擎在全局范围(ShowDetails)中寻找方法window,但你创建了该方法作为闭包方法dom ready handler

答案 1 :(得分:0)

试试这个:

$(document).ready(function(){  
function ShowDetails(){  
alert('hjhjkhjkh');  
}  
$('a.woocommerce-main-image').attr("href", "#");  
$('a.woocommerce-main-image').click(function(){  
ShowDetails();  
});  
});