为什么jquery click事件没有在firefox上启动?

时间:2015-08-10 16:35:04

标签: javascript jquery html asp.net

我在JS中有这个功能:

var string = " '";
var containPunctuation = /[.,-\/#!$%\^&\*;:{}=\'\"\-_`~()]/g.test(string);

if (containPunctuation)
{
    //Do whatever you want
    console.log('It contains punctuation');
}

在我的asp.net页面中,我有这个按钮:

    jQuery(function ($) {
     $(document).on("click", ".botaoExcluirRecibos", function (e) {
            e.preventDefault();
            alert("Fired!");
        });
     });

该按钮是在li标签上动态添加的,用户可以添加更多按钮。

它没有在FIREFOX上触发点击事件,但在CHROME是。

Obs:我必须在按钮上添加onclick事件以防止回发问题。

1 个答案:

答案 0 :(得分:0)

首先,你可以添加“return false;”到你的事件处理程序,它将避免回发 - 你不需要内联。

其次,我建议使用绑定功能:

function BindClick(){
    $(".botaoExcluirRecibos").unbind("click"); // To prevent double-binding click events!
    $(".botaoExcluirRecibos").on("click", function(e){
        e.preventDefault();
        console.log("Fired!"); //Use the console instead of alerts for debugging purposes!
        return false;
    });
}

现在,请致电:

BindClick();

每次向需要此事件处理程序的页面添加控件时。这应该适用于每个浏览器。