通过Jquery控制iframe中的点击



我有这个代码:

$("#iframeID").load(function () {
    var iframeDoc = $('#iframeID').contents().get(0);
    $(iframeDoc).bind('click', function() {
        alert('clicked');
    });
});

它检测到iframe中的点击,但我如何检测点击是否在javascript函数中,例如:

<a href="#" onclick="save(100);">save 100</a>

我想通过Jquery 检测并获取保存功能的信息

谢谢!

您可以查找属性onclick:

$("#iframeID").load(function () {
    var iframeDoc = $('#iframeID').contents().get(0);
    $(iframeDoc).bind('click', function(event) {
        if($(event.target).attr("onclick")) {
            var onclickStr = $(event.target).attr("onclick").toString();
            // containing whatever is inside the onclick attribute, 
            // now you could compare it to whatever you want 
            // might be that you need some kind of regular expression to 
            // etract the function name.
            console.log(onclickStr);
        }
    });
});

使用jQuery的.on()事件处理程序。

$("#iframeID").load(function () {
    var iframeDoc = $('#iframeID').contents().get(0);
    $(iframeDoc).on('click', 'a[onclick^="save"]', function(e) {
        e.preventDefault();
        alert('clicked');
    });
});

第一个参数是事件,第二个参数是选择器,第三个参数是匿名函数。

示例:http://jsfiddle.net/bR52H/

最新更新