Bir öğe seçme metin (fare ile vurgulayarak benzer)
Kullanıcılar bir bağlantıyı tıklatın istiyorum, sonra başka bir eleman HTML metin seçer (değilbir giriş).
"Seçin" üzerine farenizi sürükleyerek metni seçin şekilde yani. Bu herkes "seçin" ya da "vurgulamak" başka bir deyişle. bahsediyor çünkü araştırma için bir ayı olmuştur
Bu mümkün mü? Benim kod şimdiye kadar:
HTML:
<a href="javascript:" onclick="SelectText('xhtml-code')">Select Code</a>
<code id="xhtml-code">Some Code here </code>
JS:
function SelectText(element) {
$("#" element).select();
}
Bir ÅŸeylerin eksik olduÄŸu bariz belli oluyormu?
CEVAP
Bunun için bir çözüm buldum, this thread sayesinde TheVillageİdiot tarafından bulundu. Bilgi verilen değiştirmek ve herhangi bir öğe metin, ne olursa olsun tarayıcı seçmek için süper bir işlevi oluşturmak için bir WordPress kullanmak biraz karıştırın başardı:
function SelectText(element) {
var text = document.getElementById(element);
if ($.browser.msie) {
var range = document.body.createTextRange();
range.moveToElementText(text);
range.select();
} else if ($.browser.mozilla || $.browser.opera) {
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(text);
selection.removeAllRanges();
selection.addRange(range);
} else if ($.browser.safari) {
var selection = window.getSelection();
selection.setBaseAndExtent(text, 0, text, 1);
}
}
DÜZENLE (9/28/11):
Bu cevap güncellenmiştir beri bir süre oldu, ve ben bu soruyu sordum cevapladığın için bir geliştirici olarak çok şey öğrendim. Ayrıca düşündüğümden çok daha fazla ilgi aldı. Artık kullanılmayan bir WordPress kullanmak yöntemleri güveniyor, ya da bir WordPress kullanmak hiç olmadığı, bu konuda yayınlanan orijinalinden daha iyi bir çözüm sunmak istiyorum. Bir WordPress kullanmak yardımcı olabilir misiniz? Elbette, ama eğer bir WordPress kullanmak olmadan aynı sonucu elde etmek ve algılama özelliği yerine koklama tarayıcı kullanarak eğer, neden değil mi? Aşağıda güncelleştirilmiş cevabım:
function SelectText(element) {
var doc = document
, text = doc.getElementById(element)
, range, selection
;
if (doc.body.createTextRange) {
range = document.body.createTextRange();
range.moveToElementText(text);
range.select();
} else if (window.getSelection) {
selection = window.getSelection();
range = document.createRange();
range.selectNodeContents(text);
selection.removeAllRanges();
selection.addRange(range);
}
}
document.onclick = function(e) {
if (e.target.className === 'click') {
SelectText('selectme');
}
};
<div id="selectme"><p>Some text goes here!</p><p>Moar text!</p></div>
<p class="click">Click me!</p>
Burada birgüncellendiworking demo. Bir jQuery Eklentisi için isteyen, one of those too (yeniden güncellendi) yaptım.
GÜNCELLEME (1/10/2012)Tim başına Aşağı önerisi, setBaseAndExtent() y için gerekli değildir.
GÜNCELLEME (9/19/2014)Gömülü kod parçası

Program aracılığıyla metin seçme iOS c...
Set fare ile vim dışarı kopyalama meti...
Tek bir fare tıklaması ile tüm DİV met...
Odak jQuery Safari çalışmıyor kullanar...
Programlama yoluyla doÄŸal ses bir HTML...