Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to change onclick event with jquery?

Tags:

jquery

I have create a js file in which i am creating the dynamic table and dynamically changing the click event for the calendar but onclicking the calender image for dynamic generated table, calendar popup in the previous calendar image. Please help me

code

/***------------------------------------------------------------ *  *Developer: Vipin Sharma *  *Creation Date: 20/12/2010 (dd/mm/yyyy) *  *ModifiedDate   ModifiedBy      Comments (As and when) *  *-------------------------------------------------------------*/ var jq = jQuery.noConflict(); var ia = 1; jq(document).ready(function(){     jq("#subtaskid1").click(function() {         if(ia<=10){       var create_table = jq("#orgtable").clone();       create_table.find("input").each(function() {         jq(this).attr({           'id': function(_, id) { return ia + id },           'name': function(_, name) { return ia + name },           'value': ''                        });       }).end();       create_table.find("select").each(function(){             jq(this).attr({                 'name': function(_,name){ return ia + name }             });       }).end();       create_table.find("textarea").each(function(){             jq(this).attr({                 'name': function(_,name){ return ia + name }             });       }).end();       create_table.find("#f_trigger_c").each(function(){             var oclk = " displayCalendar(document.prjectFrm['"+ ia +"dtSubDate'],'yyyy-mm-dd', this)";                          //ERROR IS HERE             var newclick = new Function(oclk);             jq(this).click(newclick);       }).end();       create_table.appendTo("#subtbl");       jq('#maxval').val(ia);       ia++;         }else{             var ai = ia-1;             alert('Only ' + ai + ' SubTask can be insert');         }     }); }); 
like image 763
VATSHAL Avatar asked Dec 22 '10 04:12

VATSHAL


People also ask

Why this is used in jQuery?

The this Keyword is a reference to DOM elements of invocation. We can call all DOM methods on it. $() is a jQuery constructor and in $(this), we are just passing this as a parameter so that we can use the jQuery function and methods.

What is change in HTML?

The change event occurs when the value of an element has been changed (only works on <input>, <textarea> and <select> elements). The change() method triggers the change event, or attaches a function to run when a change event occurs.


2 Answers

You can easily change the onclick event of an element with jQuery without running the new function with:

$("#id").attr("onclick","new_function_name()"); 

By writing this line you actually change the onclick attribute of #id.

You can also use:

document.getElementById("id").attribute("onclick","new_function_name()");

like image 63
Amirali Avatar answered Oct 13 '22 04:10

Amirali


Remove the old event handler

$('#id').unbind('click'); 

And attach the new one

$('#id').click(function(){     // your code here }); 
like image 33
aizotov Avatar answered Oct 13 '22 04:10

aizotov