해당하는 .js 파일에 아래 코드가있는 HTML 페이지가 있습니다. Texturea 요소 txtexamplereviewed
있는데 Alt + Shift + A 단추를 클릭하면 btnAddMicroElement
이벤트가 발생하고 레이블에 텍스트 입력 및 단추가 포함 된 새 div가 페이지에 추가됩니다. 이 동적으로 추가 된 div의 텍스트 입력은이 이벤트를 트리거하기 전에 텍스트 영역 txtexamplereviewed
에서 선택된 텍스트를 갖습니다. 이를 위해이 텍스트를 btnAddMicroElement
의 클릭 이벤트에 전달해야합니다. 아래에 주어진대로 그 짓을하지만 그 작동하지 및 textarea에서 선택한 텍스트 대신 텍스트 입력 텍스트 microelement 가져 오는. 내 코드를 수정하도록 도와주세요.jQuery에서 이벤트를 클릭하기 위해 매개 변수를 전달하십시오.
$(document).ready(function(){
$("#btnAddMicroElement").click(function(microelement){
alert("clicked");
$("#divVerification").append("<div class='clsdivmicroelement'><label>Microelement</label><input type='text' class='clstxtmicroelement'/ value=microelement><input type='button' class='clsbtnmicroelmentadd' value='Add'/></div>");
return false;
});
});
function getSelectedText(el) {
var sel, range;
if (typeof el.selectionStart == "number" && typeof el.selectionEnd == "number") {
return el.value.slice(el.selectionStart, el.selectionEnd);
} else if (
(sel = document.selection) &&
sel.type == "Text" &&
(range = sel.createRange()).parentElement() == el) {
return range.text;
}
return "";
}
window.onload = function() {
document.getElementById("txtexamplereviewed").onkeydown = function(e) {
if(e.altKey && e.shiftKey && e.which==65){
$("#btnAddMicroElement").trigger("click",[getSelectedText(this)]);
}
};
};
클릭 (function (event, microelement) {...}}을 클릭 해 보셨습니까? – algorhythm
클릭을 트리거하는 특별한 이유가 있습니까? 직접적으로 클릭하는 것이 아니습니까? –
도 있습니다. , 왜 당신은'ready()'와'onload()'둘 다 사용하고 있습니까? –