替代Mozilla的“explicitOriginalTarget”用于跨浏览器功能

时间:2011-08-19 14:54:04

标签: javascript jquery

我有一个小提琴:http://jsfiddle.net/radi8/Nt556/1/

此类将侦听器绑定到窗体上的所有“提交”按钮。当用户单击其中一个按钮时,类功能将根据需要对其进行处理。我最初使用FireFox开发此类并使用:var btnName = event.originalEvent.explicitOriginalTarget.defaultValue;在这里工作很好,但我后来发现这只是一个Mozilla功能。

任何人都可以为IE和Chrome提供替代方案吗?

我的班级:

    var RequiredField = {
    init: function() {
        var theForm = document.getElementsByTagName("form");
        $(theForm).bind("submit", RequiredField.submitListener);
    },

    submitListener: function(event) {
        event.preventDefault();
        var btnName = event.originalEvent.explicitOriginalTarget.defaultValue;
        if (btnName == 'Process Route') {
            processType = 0;
            alert('Process');
        }
        else if (btnName == 'Finalize Route') {
            processType = 1;
            alert('Finalize');
        }
        else {
            processType = 99;
        }
        try {

        }
        catch (e) {
            event.preventDefault();
        }
    }
};
RequiredField.init();

1 个答案:

答案 0 :(得分:1)

我只是为表单绑定“click”:

  $('form').delegate(':submit', 'click', RequiredField.submitListener);

然后事件的目标就是直接按钮。