将输入参数传递给.click事件

时间:2019-10-16 16:36:02

标签: javascript jquery

我的功能如下:

      $("#submitBtn").on('click', function () {
          ....
      });

我在执行以下操作时使用以下代码来调用click:

     $('#submitBtn').click();

是否可以为点击设置输入参数。 例如,我需要将字符串值传递给click,以便函数可以采取适当的步骤。请注意,p的值不是来自页面中的任何元素。我将根据某些条件在编程上进行设置。

     var p = 'sourceinfo';

     $('#submitBtn').click(p);

5 个答案:

答案 0 :(得分:1)

好的,最好的方法是在元素与params事件链接之前,向元素添加自定义数据属性click

$("#submitBtn").data("params", {
    one: "Parameter 1",
    two: "Parameter 2"
}).click();

您可以使用以下参数:

$("#submitBtn").on('click', function () {

    // Parameter 1
    alert( $(this).data("params").one );

    // Parameter 2
    alert( $(this).data("params").two );

    // Do other stuff

});

选中working demo

答案 1 :(得分:0)

单击是生成的事件,无法传递消息/数据。相反,您可以将args传递给listener(调用方法)。以便可以将其捕获到该方法。 例如

Items per page

答案 2 :(得分:0)

您可以使用事件处理程序.trigger()代替.click() 语法:

.trigger( eventType [, extraParameters ] )

示例:

.trigger('click',[param1,param2]) 

之后,您可以从事件参数后的回调函数中获取这些参数

答案 3 :(得分:0)

您可以改用.trigger()

$('#submitBtn').trigger('click', [arg1, ...]);

您可以检索附加点击处理程序时传递的参数

$('#submitBtn').on('click', function(e, arg1, ...) {
});

答案 4 :(得分:0)

您可以使用jQuery(this).attr('action')...在函数内部 然后在元素上添加属性,如下所示data-action('myaction')