2009-02-24 1 views
0

Есть ли способ проверить полосы прокрутки? Мне нужен способ узнать, написал ли пользователь слишком много текста в iframe (используя punyMCE). Если пользователь вышел за допустимое количество строк (что вызовет появление полос прокрутки), я хочу сообщить пользователю, что было введено максимальное количество строк.проверка прокрутки

Теперь возникает вторая проблема. Кажется, я не могу запустить ключевые события изнутри кадра punyMCE. Это означает, что мне не нужно делать чек ... Любые предложения? Я попытался это:

frame = frames['eventTxt_f'].document.getElementsByTagName('body')[0]; 
frame.onkeydown = function() { 
    alert("keydown"); 
} 

ответ

1

Более простой способ, вероятно, будет сравнить clientHeight из содержимого фрейма с внешней высоты фрейма. Что-то вроде этого:

if (window.frames[0].innerHeight < window.frames[0].document.documentElement.clientHeight) 
    alert('too much!'); 

(протестирован быстро с PunyMCE Simple Example с FF3)

+0

clientHeight, кажется, возвращает 0, каждый раз для меня ... с помощью IE7 – peirix

+0

Вы должны использовать document.body.clientHeight вместо документа .documentElement.clientHeight, когда окно/iframe находится в режиме Quirks. Но в целом вы никогда не хотите быть в режиме Quirks. – bobince