Vai ir kāds veids, kā iegūt tā elementa ID, kas izraisa notikumu?
Es domāju kaut ko līdzīgu:
<html>
<head>
<script type="text/javascript" src="starterkit/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("a").click(function () {
var test = caller.id;
alert(test.val());
});
});
</script>
</head>
<body>
<form class="item" id="aaa">
<input class="title"></input>
</form>
<form class="item" id="bbb">
<input class="title"></input>
</form>
</body>
</html>
Tikai, protams, var test
būtu jāietver id "aaa"
, ja notikums tiek izsaukts no pirmās formas, un "bbb"
, ja notikums tiek izsaukts no otrās formas.
JQuery event.target
vienmēr attiecas uz elementu, kas izraisīja notikumu, kur event
ir funkcijai nodotais parametrs. http://api.jquery.com/category/events/event-object/
$(document).ready(function() {
$("a").click(function(event) {
alert(event.target.id);
});
});
Ņemiet vērā arī to, ka this
arī darbosies, bet tas nav jQuery objekts, tāpēc, ja vēlaties tam izmantot jQuery funkciju, tad uz to jāatsaucas kā uz $(this)
, piemēram:
$(document).ready(function() {
$("a").click(function(event) {
// this.append wouldn't work
$(this).append(" Clicked");
});
});
Lai uzzinātu, izmēģiniet šo! Tas darbojas!
jQuery("classNameofDiv").click(function() {
var contentPanelId = jQuery(this).attr("id");
alert(contentPanelId);
});
Jūs varat izmantot (this)
, lai atsauktos uz objektu, kas palaida funkciju.
'this'
ir DOM elements, ja jūs atrodaties atpakaļsaukuma funkcijas iekšpusē (jQuery kontekstā), piemēram, ja to izsauc klikšķa, each, bind u. c. metodes.
Šeit varat uzzināt vairāk: http://remysharp.com/2007/04/12/jquerys-this-demystified/.