[英]JavaScript function arguments in jQuery
我正在使用jQuery和JavaScript。 我有一個onclick事件,該事件調用JavaScript函數。 如何在jQuery中提取function_A和function_B的參數?
這是最好的方法嗎?
單擊JavaScript之后,我需要進行Ajax調用。 使用jQuery是否有任何性能問題?
我的代碼:
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
//Here need to extract the JavaScript function arguments
var id1=from_javascript_function_A
var id2=from_javascript_function_B
var link1=from_javascript_function_A
var link2=from_javascript_function_B
//
</script>
</head>
<body>
<a href='#' onclick=javascript:function_A('first',1)>link1</a>
<a href='#' onclick=javascript:function_B('second',2)>link2</a>
</body>
</html>
那這樣的東西呢?
<script>
$(document).ready(function(){
$("a.a").click(function(e){
DoWork('a',1,function_a);
});
$("a.b").click(function(e){
DoWork('b',2,function_b);
});
});
function DoWork(s,i,f){
f(s,i);
alert("after click:" + s + " " + i);
}
function function_a(s,i){
alert("a:" + s + " " + i);
}
function function_b(s,i){
alert("b:" + s + " " + i);
}
</script>
</head>
<body>
<a href="#" class="a">a</a>
<a href="#" class="b">b</a>
</body>
如果您確實要從函數調用中提取參數,則需要進行大量手動解析,例如,
$("a").each(function(){
var onclicktext = $(this).attr("onclick");
if(onclicktext.indexOf("function_A") > -1){
// Do more parsing here
}
if(onclicktext.indexOf("function_B") > -1){
// Do more parsing here
}
});
函數參數只能在該函數中可見。 通常,它們是變量,並且它們的值僅在調用函數時才有意義(在您的示例中,當單擊相應的鏈接時)。 在$(document).ready
,它們的值$(document).ready
。
如果參數不是變量,則它們是已知的,無論如何您都不會問這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.