<a href="<?=$rowz[0]?>" onClick="countLinks('<?=$row[6]?>','<?=$indexl?>')">[Link <?=$j++?>]</a>
Проблема состоит в том, что это не работает со средней кнопкой на IE или Firefox. На самом деле, countLinks
использование средней кнопки называют только с хромом.
Я думаю, что мне нужна функция JQuery как mouseup
событие, просто я не знаю, как вызывают ту функцию, которую оно вызывает countLinks
с теми параметрами параметров.
Какая-либо справка?
Вы правы. Вам нужно событие mousedown
или mouseup
, чтобы определить, какая кнопка мыши была нажата.
Но прежде всего вам нужно избавиться от обработчика событий inline onclick
и пойти по сияющей дороге ненавязчивого javascript.
Для этого вам нужно дать этому якорю тег id
или class
, чтобы идентифицировать его (конечно, вы также можете выбрать этот якорь с помощью селектора css). Предположим, мы добавили класс с именем myClazzz :)
javascript:
$(function(){
$('.myClazzz').bind('mouseup', function(e){
switch(e.which){
case 1:
alert('Left Mouse button pressed.');
break;
case 2:
alert('Middle Mouse button pressed.');
break;
case 3:
alert('Right Mouse button pressed.');
break;
default:
alert('You have a strange Mouse!');
}
});
});
Свойство which
в обработчике событий mousedown
/ mouseup
будет содержать число, указывающее, какая кнопка мыши была нажата.
Вот быстрое решение для вас, используя некоторые html5
атрибуты... На самом деле это было возможно и до html5, но не было валидации.
Я бы создал ссылки следующим образом:
_здесь мы помещаем ваши параметры в data
атрибуты
и пишем js следующим образом:
$(function(){
//use mouseup, then it doesn't matter which button
//is clicked it will just fire the function
$('.myClazzz').bind('mouseup', function(e){
//get your params from data attributes
var row = $(this).attr("data-row"),
index = $(this).attr("data-index");
//and fire the function upon click
countLinks(row,index);
});
});
//don't forget to include jquery, before these lines;)
Надеюсь, это сработает. Синан.
PS
myClazzz -> кредиты получает jAndy :)