使用JQuery更改事件函数参数

时间:2012-08-17 08:56:05

标签: jquery

我有一个图像映射,其中包含某些包含onmouseover事件的“区域”。大多数这些事件都会激活一个传递某些坐标的函数。 我希望能够在函数SFX_ShowIconOver中操纵坐标。

图像地图由第三方应用创建,因此我只能操纵渲染的内容。

<AREA onmouseover="SFX_ShowIconOver('Chart2','29456',368,10,22,22,false,this)" title="Legend Box" onclick="SFX_SendCommand('29456',false)" shape=rect coords=368,10,390,32>

3 个答案:

答案 0 :(得分:0)

不要使用内联javascript,更改为jQuery样式,然后更改变量a,b,c,d,e

var a,b,c,d,e;
$('#area_id').mouseover(function() {
   SFX_ShowIconOver('Chart2', a, b, c, d, e, false,this);
}).click(function() {
   SFX_SendCommand(a, false);
});

答案 1 :(得分:0)

您可以使用JQuery从DOM中删除onmouseover属性,然后使用JQuery添加自己的鼠标悬停。

修改
看看here。那么您需要做的就是确保在加载第三方项目后声明“重写”函数。

答案 2 :(得分:0)

我设法达到了我想要的最终目标。这是代码:

            $("area").filter(function () { return this.outerHTML.match('SFX_ShowIconOver') })
        .each(function () {
            var pairs = $(this).attr("outerHTML").split(', ');

            for (var i = 0; i < pairs.length; i++) {
                var nums = pairs[i].split(',');
                nums[3] = 40;
                pairs[i] = nums.join(',');
            }

            $(this).attr("outerHTML", pairs.join(', '));
        });