2011-03-05 52 views
-3

我有html代碼<input onclick="function_name(1)">,我想用它在Jquery中,例如function function_name(i) { alert(i); }。它不工作,任何提示?謝謝。Jquery中的函數

+0

請更清楚。 – adarshr 2011-03-05 22:23:16

+2

什麼不明確,請?我希望它會發生警報(1) – 2011-03-05 22:24:44

+3

「我想在jQuery中使用它」 – Orbit 2011-03-05 22:27:08

回答

1

你的代碼的寫法,它應該工作。

如果function_name沒有觸發,那可能是因爲您沒有在全局範圍內定義它。

例如,如果你使用jQuery,這是行不通的,因爲功能不是全局:

$(document).ready(function() { 
    function function_name(i) { 
     alert(i); 
    } 
}); 

但這種意志,因爲你所做的功能全球:

$(document).ready(function() { 
    // some other code 
}); 

function function_name(i) { 
    alert(i); 
} 

或者這會,因爲你明確地從.ready()內部全球化。

$(document).ready(function() { 
    window.function_name = function(i) { 
     alert(i); 
    } 
}); 

除了全球問題,我不知道爲什麼你的代碼將從onclick=屬性失敗。

+0

omg,當然它有效......我是整個宇宙中最大的輸家 – 2011-03-05 23:35:48

+0

@hey:這是一個容易和常見的錯誤:o) – user113716 2011-03-05 23:38:30

4
<input id="myId"/> 

$("#myId").click(function() { 
    alert('something'); 
}); 

如果我明白你的權利。

+0

不,我有'onclick =「function_name(1)',我想要警報1. – 2011-03-05 22:25:59

+2

+1對此答案作爲adarshr回答了您問的問題@hey - 您無法實現答案,因爲您的代碼被寫在上面 – Tahbaza 2011-03-05 22:36:11

1

試試這個:

HTML:

<input data="1" id="myinput" /> 

JS;

$('#myinput').bind('click', function(event) { 

    alert($(this).attr('data')); 

});