hello in my web page some portion of DOM element are generated dynamically and I created a function in jquery to get the index value of the DOM element on mousedown event. But my function always returns 7. this is my dom structure and function code:
<div id = "viewer">
<div id="pageContainer1" >
<canvas id="page2" width="741" height="959"></canvas>
<div class="textLayer">
<div>......some text here....</div>
<div>......some text here....</div>
<div>......some text here....</div>
</div>
</div>
<div id="pageContainer2" >
<canvas id="page2" width="741" height="959"></canvas>
<div class="textLayer">
<div>......some text here....</div>
<div>......some text here....</div>
<div>......some text here....</div>
</div>
</div>
<div id="pageContainer3" >
<canvas id="page3" width="741" height="959"></canvas>
<div class="textLayer">
<div>......some text here....</div>
<div>......some text here....</div>
<div>......some text here....</div>
</div>
</div>
</div>
<script>
var indexInital, pageStr, containerStr, selector;
//function for highlighting
$(function() {
$(window).scroll(function(){
pageStr = String(PDFView.page);
containerStr = "\"#pageContainer".concat(pageStr);
selector = containerStr.concat(" > .textLayer > div\"");
});
});
$(function() {
$('#viewer').on('mousedown', selector ,function () {
indexInitial = $(this).index();
console.log(indexInitial); });
});
</script>
In the above code only div with id viewer is static, the div inside it are dynamically generated
selectorto be when$('#viewer').on('mousedown', selector, ...gets executed? And are you sure thatindexInitialis coming out as7rather than0?selectoris modified by the scroll handler and that probably won't be triggered until afterselectoris used in theoncall. So,selectorisundefinedwhen it is used. Perhaps you should set up a demo on jsfiddle.net, something doesn't add up here.selectorisundefinedwhen it is used.