English 中文(简体)
jQuery: inherit functions to several objects
原标题:

i made several table-based-widgets (listview-kind-of) which all have the same characteristics: styling odd/even rows, hover on/off, set color onClick, deleting a row when clicking on trash-icon.

so it s always the same (prototype-)code for each widget. is there a way to have the code only once then simply apply/inherit it to all widgets?

2nd, here s some of the code - could this be optimized?

var me = this;
$("tr",this.table).each(function(i)
{
    var tr = $(this);
    tr.bind("mouseover",function(){me.hover(tr,true)});
    tr.bind("mouseout",function(){me.hover(tr,false)});
    tr.bind("click",function(){me.Click(tr)});
});
$("tr").filter(":odd").addClass("odd");
问题回答

You have 2 options:

First just create a plugin that handles that basic stuff and then create other plugins that do the specialized stuff for that listing.

Second use jQuery.extend to extend one plugin and create a new one.

To optimize this use event delegation ( jquery().live() )

var me = this;
var id = this.table.attr( id );

$( # .id)
.live("mouseover",function(){me.hover($(this),true)})
.live("mouseout",function(){me.hover($(this),false)})
.live("click",function(){me.Click($(this)});

$("tr").filter(":odd").addClass("odd");

http://docs.jquery.com/Events/live





相关问题
getGridParam is not a function

The HTML: <a href="javascript:void(0)" id="m1">Get Selected id s</a> The Function: jQuery("#m1").click( function() { var s; s = jQuery("#list4").getGridParam( selarrrow )...

selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

jQuery cycle page with links

I am using the cycle plugin with pager functionality like this : $j( #homebox ) .cycle({ fx: fade , speed: fast , timeout: 9000, pager: #home-thumbs , ...

jquery ui dialog opens only once

I have a button that opens a dialog when clicked. The dialog displays a div that was hidden After I close the dialog by clicking the X icon, the dialog can t be opened again.

jConfirm with this existing code

I need help to use jConfirm with this existing code (php & Jquery & jAlert). function logout() { if (confirm("Do you really want to logout?")) window.location.href = "logout.php"; } ...

Wrap text after particular symbol with jQuery

What I m trying to do, is wrap text into div inside ll tag. It wouldn t be a problem, but I need to wrap text that appears particularly after "-" (minus) including "minus" itself. This is my html: &...

热门标签