चलो कहते हैं कि मैं इस तरह के रूप चिह्न के साथ एक पाठ, करते हैं:div में कुछ पाठ का चयन कैसे अक्षम करें?
और मैं इस तरह के का चयन है कि शुरू करने या चयन के अंत निशान में नहीं है अक्षम करना चाहते हैं। इसलिए, इन चुनावों के सभी संभव होना चाहिए:
दूसरी ओर, इन चुनावों अक्षम है या नहीं:
अब तक, मैं केवल कुछ सरल सीएसएस उपयोग करने की कोशिश,
mark {
-khtml-user-select: all;
-webkit-user-select: all;
-o-user-select: all;
user-select: all;
}
This is <mark>marked text</mark>. I want to disable selecting only part of <mark>marked text</mark>.
वहाँ यह करने के लिए कोई तरीका है? किसी भी जवाब की सराहना की जाएगी!
मैंने जो हासिल करना चाहता था, हासिल किया, इसलिए मैं इसे यहां साझा करता हूं।
function checkSelection() {
var sel = window.getSelection();
var marks = document.getElementsByTagName('mark');
for(var i = 1; i < sel.rangeCount; i++) {
sel.removeRange(sel.getRangeAt(i));
}
var range = sel.getRangeAt(0);
var startnode = range.startContainer;
var endnode = range.endContainer;
for (var i = 0; i < marks.length; i++) {
\t if (marks[i].contains(startnode)) {
range.setStartBefore(startnode);
}
\t if (marks[i].contains(endnode)) {
range.setEndAfter(endnode);
}
}
}
document.addEventListener('mouseup', checkSelection)
document.addEventListener('touchend', checkSelection)
This is <mark>marked text</mark>. I want to disable selecting only part of <mark>marked text</mark>.
मुझे ऐसा करने का कोई आसान तरीका नहीं दिख रहा है। आपको टेक्स्ट को पार्स करना होगा, माउस इवेंट्स का उपयोग करना होगा, कक्षाएं आदि जोड़ें। – kemotoe
आप कुछ बग रिपोर्ट फाइल कर सकते हैं और ब्राउज़र विक्रेताओं को इसे ठीक करने की उम्मीद कर सकते हैं। https://drafts.csswg.org/css-ui-4/#valdef-user-select-all "यदि किसी चयन में तत्व का हिस्सा होता है, तो चयन में उसके सभी वंशजों सहित संपूर्ण तत्व होना चाहिए" - यह किसी क्लिक से शुरू करने के चयन के बारे में कुछ भी नहीं कहता है (जो एमडीएन हमें बताता है) –
भाग के लिए "क्या ऐसा करने का कोई तरीका है", https://stackoverflow.com/questions/985272/selecting- टेक्स्ट-इन-ए-एलिमेंट-एंक-टू-हाइलाइटिंग-टू-अप-माउस (हां) –