моят код и проблемът ми е:
<script type="text/javascript">
$(document).ready(function() {
// this variable is used to set the dynamic elements
tagFlag = "";
$("#a1").click(function(event) {
event.preventDefault();
tagFlag = "me"; // setting the element which I want to trigger later
});
$("#"+tagFlag).click(function(e) {
// do sthing here
});
});
</script>
</head>
<body>
<a href="">make the element</a>
<p id="me">some words here</p>
</body>
</html>
but.when поставям tagFlag, и щракнете върху "P" нищо не се случи.BTW.there е грешка, когато tagFlag са били определени нищо.So.How мога да получа това, което искам?
Благодаря ти много!!
Отговори:
0 за отговор № 1Може би трябва да погледнете jQuery live()
метод, който ще присвои събитие на всички съществуващи и бъдещи елементи.
0 за отговор № 2
Няма елемент с това ID
"А1". Ако искате първи използване на анкерния елемент
$.("a:eq(0)")
вместо.
Ако това не е така, докладвайте, моля.
0 за отговор № 3
използвайте обект jquery и добавете към него елементи, които са кликнали върху него:
$(document).ready(function() {
$tagFlag = $("");
$("#a1").click(function(event) {
event.preventDefault();
$tagFlag.add($(this));
});
$tagFlag.click(function(e) {
// do sthing here
});
});
0 за отговор № 4
Можете да прикачите a .click()
манипулатор на document
и проверете дали целта на кликването е елементът, който ви интересува, подобно на това .live()
се държи вътрешно, като това:
$(function() {
var tagFlag = "";
$("#a1").click(function(event) {
event.preventDefault();
tagFlag = "me";
});
$(document).click(function(e) {
if(tagFlag && //is it even set?
(e.target.id == tagFlag || $(e.target).closest("#"+tagFlag).length)) {
//do work here
}
});
});
Можете да опитате тук, единствената промяна в маркирането е добавянето на дете елемент (за показване на мехурчене / работа с мишката) и даване на котва a1
ID I мисля сте възнамерявали да го имате в въпроса.
Алтернативно, ако знаете набора от елементикоито могат да бъдат кликнати, да им дадете клас и да обвържете ръководител с тях, да провери ID, както аз имам по-горе ... или да развържа класа и да се връщам към конкретния идентификатор всеки път, има няколко начина да направя това :)