Если проблема заключается в том, что шрифт становится слишком большим на широкоэкранном рабочем столе, я думаю, что самый простой метод css был бы примерно таким (предполагая, что обертка max 1000px wide)
.specialText{
font-size:2.4vw;
}
@media only screen and (min-width: 1000px) {
.specialText {
width:24px;
}
}
. Таким образом, он автоматически задается для любого экран меньше максимальной ширины вашего контейнера и фиксированный размер, когда экран шире (например, практически все настольные / ноутбуки)
Поскольку динамическое добавление class
добавлено, вам необходимо использовать делегирование событий для регистрации обработчика события
$(document).on('click', "a.tabclick", function() {
var liId = $(this).parent("li").attr("id");
alert(liId);
});
Я знаю, что это старая тема ... но ни одна из перечисленных выше не помогла мне. И после многого поиска и пробовать все ... Я придумал это.
Сначала удалите код клика из части $ (document) .ready и поместите его в отдельный раздел. затем поместите ваш код клика в $ (function () {......}); код.
Нравится это:
<script>
$(function(){
//your click code
$("a.tabclick").on('click',function() {
//do something
});
});
</script>
Основываясь на @Arun P Johny, так вы делаете это для ввода:
<input type="button" class="btEdit" id="myButton1">
Вот как я получил его в jQuery:
$(document).on('click', "input.btEdit", function () {
var id = this.id;
console.log(id);
});
Это будет войдите в консоль: myButton1. Поскольку @Arun сказал, что вам нужно добавить событие динамически, но в моем случае вам не нужно сначала вызывать родителя.
UPDATE
Хотя было бы лучше сказать:
$(document).on('click', "input.btEdit", function () {
var id = $(this).id;
console.log(id);
});
Поскольку это синтаксис JQuery, хотя оба будут работать.
$(this).attr("id")
, чтобы получить идентификатор текущего объекта, и он работает для меня
– Shiju K Babu
7 February 2014 в 06:21
Вы должны использовать следующее:
$('#gentab').on('click', 'a.tabclick', function(event) {
event.preventDefault();
var liId = $(this).closest("li").attr("id");
alert(liId);
});
Это добавит ваше событие к любым якорям внутри элемента #gentab
, уменьшив объем проверки всего дерева элементов document
и увеличив эффективность.
.live()
устарел. Когда вы хотите использовать для делегированных элементов, используйте .on () wiht следующий синтаксис
$(document).on('click', "a.tabclick", function() {
Этот синтаксис будет работать для делегированных событий
[д0] .on ()
Вот еще одно решение, метод связывания.
$(document).bind('click', ".intro", function() {
var liId = $(this).parent("li").attr("id");
alert(liId);
});
Cheers:)
в событии готовности документа нет тега с классом tabclick. поэтому при добавлении класса tabclick вы должны связывать событие клика динамически. пожалуйста, этот код:
$("a.applicationdata").click(function() {
var appid = $(this).attr("id");
$('#gentab a').addClass("tabclick")
.click(function() {
var liId = $(this).parent("li").attr("id");
alert(liId);
});
$('#gentab a').attr('href', '#datacollector');
});