0

我有发送 submitTask(takk, layout) 函数的链接(它是我自己的函数,她将值添加到表单并发送它)。我想将此功能与 jQuery 结合起来。我做了这样的东西。

$(function() {
    $('#edit').click(function(e) { 
        e.preventDefault();
        submitTask('edit','edit');
    });
});

为了

<a href="#" id="edit">Link</a>

它可以工作,但我想为我想要的所有元素更改通用的 jQuery 函数(我不想为脚本中的每个元素定义 $().click())函数,该函数将被称为 onclick,如下所示:

<a href="#" onclick="jqueryFunction('task','layout')>Link</a>

因为我仍然想保留 .preventdefautlFunction()。我不知道如何使用参数进行 jQuery 函数。我需要这样的东西,但工作正常:

function jqueryFunction(task,layout){
$('a').preventDefault();
submitTask(task,layout);
}
4

1 回答 1

1

实际上,使用突兀的事件处理程序通常是不好的做法 - 你最好先使用第一个示例,然后使用一个类来处理点击。

例如,您的标记可以更改为:

<a href="#" class="customClick" id="edit">Click Me</a>

然后你的 jQuery 代码看起来像这样:

$('a.customClick').on('click', function(e) {  
    e.preventDefault();
    var action = $(this).prop('id');
    submitTask(action, action);
});

如果需要定义与动作不同的布局,使用switch()语句:

$('a.customClick').on('click', function(e) {  
    e.preventDefault();
    var action = $(this).prop('id'),
        layout;

    switch(action)
    {
        case 'edit':
            layout = 'edit';
            break;
    }
    submitTask(action, layout);
});
于 2013-07-24T11:19:28.777 回答