2010-08-05 5 views
3
<input name="mybutton" type="button" class="agh" id="id_button" value="Dim" onClick="resetDims();"> 

В приведенном выше теге ввода мне нужно удалить все «Onclick = myfunction();» и его функции для ввода тега и написать свою функциональность для этой кнопки, когда «нажмите кнопку»Как удалить существующую функцию javascript для кнопки

$("#mybutton").onclick(function(){ 
    //$("#mybutton").removeattr("onClick",""); 
}) 
+0

Да, и каков ваш вопрос? – adamse

+0

'mybutton' - это атрибут имени элемента, вам нужно запросить' # id_button'. – jAndy

ответ

3

Если вам нужно удалить атрибут onclick "по требованию" использовать

$('#id_button').removeAttr('onclick').click(function(){ 
}); 

Есть второй взгляд на селекторе . Вам нужно запросить ID, ваш фрагмент попробует выбрать mybutton как ID, в котором infact - это имя элемента.

+0

Спасибо Andy It Выработал для меня – Someone

0

Вы можете использовать jQuery unbind function, если вы хотите удалить событие щелчка.

$('#mybutton').unbind('click'); 
+0

, который не будет работать с обработчиками событий inline в onclick – jAndy

+0

Да, я бы пошел с подходом jAndy, потому что unbind не работает в том же случае с моим приложением. –

+0

@jAndy - Он не добавил HTML-код, чтобы было ясно, что это было встроенное событие в то время, когда я ответил. –

1

Использование unbind для удаления обработчиков событий.

$("#mybutton").click(function(){ 
    $(this).unbind("click"); 
}) 

(также, $().click, не onclick)

2

Вы не можете использовать unbind, чтобы удалить обработчик onclick inline model. unbind будет работать только с обработчиками событий jQuery. Это может быть сделано, как это:

document.getElementById("id_button").onclick = null; 

// you can still get the element using the jQuery shorthand though 
// the point is to get at the DOM element's onclick property 
$("#id_button")[0].onclick = null; 

Демо: http://jsfiddle.net/ax52z/

Смежные вопросы