我認爲標題不是很適應,但我不知道該怎麼做。如果你想要編輯它。我自己的函數觸發像onclick
我想要的是很奇怪,但請不要downvote。我想創建我自己的功能,將被稱爲像這樣:<input type="text" onMyFunction="alert('hi');" />
如果不可能,只要告訴它,我檢查它是最好的答案。
P.S:如果有效,該函數將被永久調用,並且在該函數內部,我將在開始處放置一個if
。
我認爲標題不是很適應,但我不知道該怎麼做。如果你想要編輯它。我自己的函數觸發像onclick
我想要的是很奇怪,但請不要downvote。我想創建我自己的功能,將被稱爲像這樣:<input type="text" onMyFunction="alert('hi');" />
如果不可能,只要告訴它,我檢查它是最好的答案。
P.S:如果有效,該函數將被永久調用,並且在該函數內部,我將在開始處放置一個if
。
的你有問題是瀏覽器沒有意識到它是那裏的一個功能。它是一個字符串,你可以將它作爲一個函數的唯一方法是將它分配爲一個函數。
一種方法是在文檔就緒或onload上,您查詢文檔中具有該屬性的元素並重新分配它。
HTML
<input id="foo1" type="text" onMyFunction="alert(this.value);" value="1"/>
<input id="foo2" type="text" onMyFunction="alert(this.value);" value="2"/>
的JavaScript
var winLoad = window.onload;
window.onload = function(){
var i,
elem,
fncStr,
elems = document.querySelectorAll("[onMyFunction]");
if (winLoad) {
winLoad();
}
for (i=0;i<elems.length;i++) {
elem = elems[i];
fncStr = elem.getAttribute("onMyFunction");
elem.onMyFunction = new Function(fncStr);
}
var tb1 = document.getElementById("foo1");
tb1.onMyFunction();
}
該代碼使用不是在所有的瀏覽器都支持querySelectorAll。
正是我想要的!謝謝! – user1365010
如果我理解這個權利,當你的javascript函數被調用時,你想要發生什麼事情。爲什麼不把你想要發生在你的實際功能上?
<script type="javascript/text">
function MyFunction(){
// some code
alert('hi');
</script>
我不知道你所謂的永久的意思,但在顯示喜會發生,每次警報上面的代碼的函數被調用,類似於你在你的問題說明什麼,但使用不同的實施。我不相信這是可能的,因爲onClick,onload和onmouseover事件是內置的。所以除非你編寫額外的代碼來實現onMyFunction()函數,正確地說,我沒有辦法做到這一點。
爲此,您可以使用純JavaScript,但jQuery是簡單的:
<input id="someId" type="text" />
$('#someId').bind('myCustomEvent', function(event) {
alert('hi');
});
而且在代碼的其他地方觸發它:
$("#someId").trigger('myCustomEvent');
愛如何不標記的問題jQuery獲得了jQuery接受的答案。大聲笑 – epascarello
http://meta.stackexchange.com/a/19492 – jfrej
... jQuery ** IS ** javasript。 – user1365010
你想聽/觸發一個自定義類型的事件? 「永久呼叫」是什麼意思? – Bergi
你會如何解決這個事件? – Joseph
這聽起來像你應該更多地描述你實際想要達到的問題。 – simon