Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
95
rated 0 times [  98] [ 3]  / answers: 1 / hits: 36087  / 9 Years ago, wed, january 13, 2016, 12:00:00
setTimeout(function() {
$.ajax({
url : handlers/H_AnnotationHandler.php,
data : case_id=<?=$case_id?>&plink=<?=$plink?>&mode=get,
type : post,
dataType : json,
success : function (response) {
if (!response.error) {
annotation_length = response.annots.length;
for (var i = 0; i < response.annots.length; i++) {
var elt = document.createElement(div);
elt.id = runtime-overlay + i;
elt.className = highlight;
viewer.addOverlay({
element: elt,
location : viewer.viewport.imageToViewportRectangle(parseInt(response.annots[i].rect_x), parseInt(response.annots[i].rect_y), parseInt(response.annots[i].rect_w), parseInt(response.annots[i].rect_h))
});
$(#runtime-overlay+i).attr(onclick, $.clickOverlay('+i+'));
}
}
}
});
}, 3000);

$.clickOverlay = function(whichOverlay) {
var flag = 0;
$(#runtime-overlay+whichOverlay).addEventListener(mousedown, function(){
flag = 0;
}, false);
$(#runtime-overlay+whichOverlay).addEventListener(mousemove, function(){
flag = 1;
}, false);
$(#runtime-overlay+whichOverlay).addEventListener(mouseup, function(){
if(flag === 0){
console.log(click);
}
else if(flag === 1){
console.log(drag);
}
}, false);
}


Why i get an type error for addeventlistener ?
Can you help me, i try to understand click or drag.
so i added that functions in my click event :
How to distinguish mouse "click" and "drag"



ERROR : Uncaught TypeError: $(...).addEventListener is not a function


More From » javascript

 Answers
11

As a comment pointed out, You are trying to use the vanilla javascript way to add an eventlistener on a jQuery object.



$.clickOverlay = function(whichOverlay) {
var flag = 0;
$(#runtime-overlay+whichOverlay).addEventListener(mousedown, function(){
flag = 0;
}, false);
$(#runtime-overlay+whichOverlay).addEventListener(mousemove, function(){
flag = 1;
}, false);
$(#runtime-overlay+whichOverlay).addEventListener(mouseup, function(){
if(flag === 0){
console.log(click);
}
else if(flag === 1){
console.log(drag);
}
}, false);
}


instead try:



$.clickOverlay = function(whichOverlay) {
var flag = 0;
$(#runtime-overlay+whichOverlay).on(mousedown, function(){
flag = 0;
});
$(#runtime-overlay+whichOverlay).on(mousemove, function(){
flag = 1;
});
$(#runtime-overlay+whichOverlay).on(mouseup, function(){
if(flag === 0){
console.log(click);
}
else if(flag === 1){
console.log(drag);
}
});
}

[#63748] Sunday, January 10, 2016, 9 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
kamronr

Total Points: 749
Total Questions: 110
Total Answers: 122

Location: Dominica
Member since Sat, Nov 5, 2022
2 Years ago
kamronr questions
Mon, Dec 21, 20, 00:00, 3 Years ago
Fri, Oct 16, 20, 00:00, 4 Years ago
Sat, Oct 3, 20, 00:00, 4 Years ago
Sun, Jul 28, 19, 00:00, 5 Years ago
;