2014-02-12 6 views
3

Я делаю проект Three.js с OrbitControls.js, но я понимаю, что я не могу выбрать (выделить) любой текст с помощью OrbitControls.Не удается выбрать текст с помощью OrbitControls?

Здесь примерном ссылка: http://threejs.org/examples/#misc_controls_orbit (попробуйте выберите «пример управления орбитальным» текст на верхней части, например, мы не можем сделать это)

Итак, как выбрать (выделить) текст с OrbitControl?

(или я должен отключить контроль каждый раз я хочу, чтобы скопировать текст?)

Спасибо.

+0

Непонятно, что вы просите. Какой текст вы хотите выбрать? –

+0

Привет, я отредактировал, я хочу, чтобы пользователь мог выбрать и скопировать любой текст в моем проекте. –

+0

Вы имеете в виду html-текст или любой html-текст или о чем вы говорите? 3D-геометрия текста в вашей сцене? – GuyGood

ответ

5

По умолчанию OrbitControls прослушивает события мыши на document, поэтому вы не можете использовать мышь на одной странице для других целей, таких как выбор текста или открытие контекстного меню. Вы можете изменить это поведение, указав узел DOM в качестве второго аргумента для конструктора THREE.OrbitControls. Затем OrbitControls прослушивает события мыши на этом узле DOM вместо целого document.

Если у вас есть код как

var renderer = …; 
container.appendChild(renderer.domElement); 
… 
var controls = new THREE.OrbitControls(camera); 

замените последнюю строку с

var controls = new THREE.OrbitControls(camera, renderer.domElement); 

В случае the example you mentioned, вы можете переместить инициализацию controls:

controls = new THREE.OrbitControls(camera); 
controls.addEventListener('change', render); 

после инициализации renderer и dd renderer.domElement как второй аргумент конструктору THREE.OrbitControls. Теперь вы можете выбрать текст на странице.

+2

Я люблю тебя !! Сделал мой день так много – loldrup