似乎在单击处理程序中,您无法将变量传递给该函数。因此,您必须始终在全局范围内声明它们。我对吗?
例如:
$("#modalCancel,#modalClose").click(function()
{
if(update == false)
{
modalCloseCancel(testcaseId);
}
else
{
modalCloseCancelUpdate(testcaseId, $("#radio-previous_"+testcaseId).val());
}
});
这里update和testcaseId是change的变量。我不能将它们作为参数传递给function(),但是我需要在处理程序上方全局声明它们。我认为没有其他方法,因此如果下面有其他功能,则必须小心。
答案 0 :(得分:0)
您可以使用data-*
属性和.data
方法轻松地在元素本身上存储变量:
$('.clickme').on('click',function(){
var update = $(this).data("update");
console.log(update);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="clickme" data-update="true">Click me (true)</button>
<button class="clickme" data-update="false">Click me (false)</button>