如何使用jquery实现带参数的onClick函数

时间:2015-09-18 22:01:54

标签: jquery onclick event-handling

我有一个网页,可用于在街道地图上突出显示我所在地区的街道。用户点击他们正在寻找的街道的名称,街道在地图上突出显示。有关工作示例,请参阅http://www.fastmap.eu

每个街道名称都显示为一个按钮,当用户点击该按钮时,会存储3个变量以供地图使用。

目前,按钮点击是通过onClick函数在html中处理的,但它在某些触摸屏设备上不起作用。所以我想使用jQuery .on('click tap',function()代替但不知道如何传递变量。

每个按钮的html看起来类似于: -

    <button class="btn" onClick="storeData(value1,value2,value3);location.href='map.html';">Street Name</button>

类似性质的先前答案解释了如何将参数从脚本函数传递到另一个,但不是从html代码传递,也没有显示它是如何在html中实现的。

2 个答案:

答案 0 :(得分:4)

如果我理解正确你需要使用jQuery.data()的东西例如:你可以从html为函数设置不同的值。 希望它有所帮助。

请参阅此代码段:

&#13;
&#13;
$(document).ready(function() {
    $('#btn').on('click', function (e) {
     alert("Your values are :"+ $(this).data("value"));        
    });   
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btn" data-value="1">Street Name</button>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

HTML按钮定义:

<button class="btn" id="btn">Street Name</button>

JQuery代码:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>
<script language="javascript">
    $(document).ready(function() {
        $('#btn').on('click', storeData);   
    });

    function storeData() {
        alert ("here check value1, value2, value3");        
        location.href='map.html';
    }   
</script>