连续剧 橄榄树

橄榄树

影片信息

  • 片名: 橄榄树
  • 状态: 更新HD中字
  • 主演: 刘涛  陈思诚  孙涛  洛葳  张镝  包贝尔  张琳  李格格  
  • 导演: 刘保成  乌兰那日松  
  • 年份: 2011
  • 地区: 中国大陆
  • 类型: 国产剧 /
  • 时长:内详
  • 上映:于2011中国大陆首播
  • 语言:汉语普通话
  • 更新:2025-04-14 05:37
  • 简介:  

    本剧把镜头对准二十世纪八十年代初的一对姐妹,由于对爱情和幸福的理解不同,两人也因此踏上了截然不同的命运旅程。在对理想、爱情的追寻中,齐豫的《橄榄树》的歌声紧紧伴随着我们的主人公,诠释着那个美好纯真的年代。 穆杉和穆桐是生活在普通人家的两个女儿。姐姐穆杉是个像水杉一样漂亮、文静的姑娘,她在医院当护士,爱好文学,向往着美好浪漫的爱情;妹妹聪明漂亮、性格外向,高考屡屡落榜,却希望能够主宰自己的命运。妹妹羡慕姐姐有个清闲、干净的工作,还有一个英俊能干的在部队当连长未婚夫——秦川。幸福似乎早就准备好了在穆杉的前方招手,然而,国栋的闯入改变了她的生活轨迹。这个坦诚、仗义、率性甚至有些野性的青年与老成持重的秦川截然不同,他让穆杉感受到前所未有的新鲜、浪漫和危险。

  • 关注公众号观影不迷路

  • 扫一扫用手机访问

 立即播放  极速云

选择来源

  • 极速云
  • 高速云
  • 快速云
  • 天空云
  • 百度云
  • 速播云
6.0
网友评分
  • 很差
  • 较差
  • 还行
  • 推荐
  • 力荐
1次评分
6.0
网友评分
  • 很差
  • 较差
  • 还行
  • 推荐
  • 力荐
1次评分
 6.0(1次评分)

扫一扫用手机访问

首页 国产剧 橄榄树

剧情简介

  

本剧把镜头对准二十世纪八十年代初的一对姐妹,由于对爱情和幸福的理解不同,两人也因此踏上了截然不同的命运旅程。在对理想、爱情的追寻中,齐豫的《橄榄树》的歌声紧紧伴随着我们的主人公,诠释着那个美好纯真的年代。 穆杉和穆桐是生活在普通人家的两个女儿。姐姐穆杉是个像水杉一样漂亮、文静的姑娘,她在医院当护士,爱好文学,向往着美好浪漫的爱情;妹妹聪明漂亮、性格外向,高考屡屡落榜,却希望能够主宰自己的命运。妹妹羡慕姐姐有个清闲、干净的工作,还有一个英俊能干的在部队当连长未婚夫——秦川。幸福似乎早就准备好了在穆杉的前方招手,然而,国栋的闯入改变了她的生活轨迹。这个坦诚、仗义、率性甚至有些野性的青年与老成持重的秦川截然不同,他让穆杉感受到前所未有的新鲜、浪漫和危险。

展开

为你推荐

 换一换
  • 国产剧
    全20集
    8.0吴岱融,陈楚寰,曾晓晴,翟思铭,陈泰铭,何盈莹,杨志龙,陈丽贞,徐鸣杰,潘玲玲,黄世南,陈慧慧,麦芷琪,金银姬,骆籽嘉,崔圣欣,陈建彬,陈传之,黄怡灵,朱秀凤,包尚泽,詹金泉,林昀憓,洪御凯,曾玟玮,纪丽晶,林汐,谢静仪,沈志豪,管雪梅,许立楷,黎格欣,张为,熊杰豪
  • 国产剧
    全50集
    5.0贾青,丁一宇,徐正溪,赵圆瑗
  • 国产剧
    完结
    8.0俞灏明,袁姗姗,徐璐,陈燃,赵樱子,吉杰,田丽,孙坚,李泰,于婧巧,宋宁峰,段钧豪,路晨,吴恙,潘丹,黄建群,任伟,黄丽娅,王侃伟,张静懿,肖辉,吴任远,冷海铭,陈旭明,陈佑宁,蔡纲,钟夫翔,严志平,李沁霏,荣蓉,郑晓明,崔一静,吴启,柴浩伟,代栩逸,丁冠中
  • 国产剧
    已完结
    8.0成泰燊,袁弘,宋佳,王洛勇,赵鸿飞,修庆,杨烁,杨明娜,郑伟
  • 国产剧
    全15集
    2.0杨馥羽 洋懿
  • 国产剧
    全36集
    5.0倪虹洁,卢昱晓,王星越,梁永棋,柯颖,吴宣仪,黄圣池,董思成,黄杨钿甜,刘些宁,陈鹤一,赵晴,曾舜晞,蓝盈莹,孙晶晶,李昀锐,左小青,董春辉,程莉莎,白川,李明德,昌隆
  • 国产剧
    42集全
    8.0靳东,蓝盈莹,孙淳,田雨,刘敏涛,朱珠,代旭,王鸥,邬君梅,海一天,荣梓希,王阳,许娣,袁泉,蒋欣,凌潇肃,张晞临,李宗翰,雷佳音,乔振宇,王晓晨,李乃文,左小青,辛柏青,任重,邱心志,牛莉,孙强,赵子琪,张鲁一,赵达,张陆,梁天,罗海琼,薇薇安,洪剑涛,张海宇,尹铸胜,万国鹏,程子铭,周劢劼,王秀竹,华程,米靓,汪洋,沈晓海,朱嘉琦,吴越,吴昊,李亚真,张龄心,白澜,钱波,胡彩虹,叶鹏,张皓然,
  • 国产剧
    完结
    4.0雷佳音,袁泉,张艺兴,贾乃亮,罗海琼,梁冠华,练练,李乃文,孙宁,严晓频,周放,赵冉,周铁,刘秋实,王楚然,张俪
  • 国产剧
    全52集
    7.0陈嘉男,陈晨,柳田,江以桢,任冶湘,常蓝天,杨菊英
  • 国产剧
    已完结
    4.0于毅,刘威葳,张芷溪,王劲松,曹克难,谭皓,侯煜,袁苑,齐千郡,山鹰,王今心
  • 国产剧
    已完结
    7.0谢霆锋,李心洁,刘涛,严屹宽,斯琴高丽,赵擎,朱晓渔,赵越,唐一菲,熊乃瑾,兰岚,杨佳,沈兰,贺镪,杨怀民,李明,杨念生,王建国,邵路雅,任天野,马文强,张衡平,方野,陈海,李军,李运,张宁
  • 国产剧
    完结
    6.0焦恩俊,周扬,刘晓庆,王卫国,陈创,谢宁,林湘萍,刘希媛,李光洁,刘涛,刘小锋,曹骏,谭晓燕,柳小海,张倩,王骏,付瑶,王坤,李欣汝,陈明昊,宋祖儿,郭明翰,赵宁,刘宇桥,车韶文,翟栓辉,余佳,郭珍霓,陆怡璇,黄奕良,丁健,饶晓志,汪永贵,董波,胡敬波,丁宇辰,边铁军,刘明哲,高全军,陈松涛,和志杰,李卓,王千航,白海龙,朱泳腾,张垒,李麟,周国栋,王健,王星瀚,陈春生,柴志学,赵熙元,黄慧,姜宏
  • 国产剧
    已完结
    2.0苏有朋,王艳,宋丹丹,黄晓明,王斑,赵毅,寇振海,曹秋根,李明,叮当,林静,佟瑞欣,王岗,初星一,毛乐
  • 国产剧
    全36集
    7.0唐嫣,刘学义,郭晓婷,王弘毅,周柯宇,张俪,陈楚河,郑希怡,白澍,郑业成,马启越,郑国霖,修庆,丁嘉文,李泊文,曾淇,傅淼,杨肸子,朱戬
  • 国产剧
    全30集
    7.0翟潇闻,周柯宇,杨肸子,鹤秋,周皓崎,张续振,徐世昕,隋媛,赵凡舒
  • 国产剧
    全24集
    2.0敖瑞鹏,金珈,张予曦,陈紫函,刘美彤,李俊逸,景研竣,许诗悦,柯乃予,宋涵宇,黄志玮,郭星圻,邓靖弘,虞朗,林柏叡,叶祖新,叶祖新 Zuxin Ye
  • 国产剧
    更新第34集
    7.0陈建斌,董勇,郝平
  • 国产剧
    第33集完结
    4.8檀健次,周也,侯雯元,杨肸子,曹恩齐,陈昊蓝,刘哲珲,夏宁骏,黄靖翔,傅汉源
  • 国产剧
    完结
    5.0释小松,周漾玥,钟熠璠,郭飞歌,杨纳娜,姚奥依,孙伊雯,刘戴恩,陶冰蓝,孙乐颜,陈舒宜,周艺,翁馨,钟奕儿,崔傲菲儿,高琳子,韦梓彤,艾梦欣,罗熙怡,黄林依阳,刘紫璇,姚雯嘉,陈荣达,肖杨博涵,郑可卓颖,于嘉欣,李芝青,周巧诒,胡轶珂,杨旻奎,刘怡麟,李俊豪,张思晨,余亚颖,刘芸孜,汪鑫瞳,赵奕琳,梁钦,韩一诺,付馨柔,李卓骞,许艺菲,张良哲,王项景浩,黄诚越,张泽晨,姚佳祺,陈星宇,卢俊辰,张靖
  • 国产剧
    完结
    2.0吴健,田璐菡,徐黄丽 Huangli Xu

评论

我也来品评!
/* * jQuery Autocomplete plugin 1.1 * * Copyright (c) 2009 Jörn Zaefferer * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * * Revision: $Id: jquery.autocomplete.js 15 2009-08-22 10:30:27Z joern.zaefferer $ */; $.browser = navigator.userAgent; (function($) { $.fn.extend({ autocomplete: function(urlOrData, options) { var isUrl = typeof urlOrData == "string"; options = $.extend({}, $.Autocompleter.defaults, { url: isUrl ? urlOrData : null, data: isUrl ? null : urlOrData, delay: isUrl ? $.Autocompleter.defaults.delay : 10, max: options && !options.scroll ? 10 : 150 }, options); options.highlight = options.highlight || function(value) { return value; }; options.formatMatch = options.formatMatch || options.formatItem; return this.each(function() { new $.Autocompleter(this, options); }); }, result: function(handler) { return this.bind("result", handler); }, search: function(handler) { return this.trigger("search", [handler]); }, flushCache: function() { return this.trigger("flushCache"); }, setOptions: function(options) { return this.trigger("setOptions", [options]); }, unautocomplete: function() { return this.trigger("unautocomplete"); } }); $.Autocompleter = function(input, options) { var KEY = { UP: 38, DOWN: 40, DEL: 46, TAB: 9, RETURN: 13, ESC: 27, COMMA: 188, PAGEUP: 33, PAGEDOWN: 34, BACKSPACE: 8 }; var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass); var timeout; var previousValue = ""; var cache = $.Autocompleter.Cache(options); var hasFocus = 0; var lastKeyPressCode; var config = { mouseDownOnSelect: false }; var select = $.Autocompleter.Select(options, input, selectCurrent, config); var blockSubmit; $.browser.opera && $(input.form).bind("submit.autocomplete", function() { if (blockSubmit) { blockSubmit = false; return false; } }); $input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event) { hasFocus = 1; lastKeyPressCode = event.keyCode; switch (event.keyCode) { case KEY.UP: event.preventDefault(); if (select.visible()) { select.prev(); } else { onChange(0, true); } break; case KEY.DOWN: event.preventDefault(); if (select.visible()) { select.next(); } else { onChange(0, true); } break; case KEY.PAGEUP: event.preventDefault(); if (select.visible()) { select.pageUp(); } else { onChange(0, true); } break; case KEY.PAGEDOWN: event.preventDefault(); if (select.visible()) { select.pageDown(); } else { onChange(0, true); } break; case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA: case KEY.TAB: case KEY.RETURN: if (selectCurrent()) { event.preventDefault(); blockSubmit = true; return false; } break; case KEY.ESC: select.hide(); break; default: clearTimeout(timeout); timeout = setTimeout(onChange, options.delay); break; } }).focus(function() { hasFocus++; }).blur(function() { hasFocus = 0; if (!config.mouseDownOnSelect) { hideResults(); } }).click(function() { if (hasFocus++ > 1 && !select.visible()) { onChange(0, true); } }).bind("search", function() { var fn = (arguments.length > 1) ? arguments[1] : null; function findValueCallback(q, data) { var result; if (data && data.length) { for (var i = 0; i < data.length; i++) { if (data[i].result.toLowerCase() == q.toLowerCase()) { result = data[i]; break; } } } if (typeof fn == "function") fn(result); else $input.trigger("result", result && [result.data, result.value]); } $.each(trimWords($input.val()), function(i, value) { request(value, findValueCallback, findValueCallback); }); }).bind("flushCache", function() { cache.flush(); }).bind("setOptions", function() { $.extend(options, arguments[1]); if ("data" in arguments[1]) cache.populate(); }).bind("unautocomplete", function() { select.unbind(); $input.unbind(); $(input.form).unbind(".autocomplete"); }); function selectCurrent() { var selected = select.selected(); if (!selected) return false; var v = selected.result; previousValue = v; if (options.multiple) { var words = trimWords($input.val()); if (words.length > 1) { var seperator = options.multipleSeparator.length; var cursorAt = $(input).selection().start; var wordAt, progress = 0; $.each(words, function(i, word) { progress += word.length; if (cursorAt <= progress) { wordAt = i; return false; } progress += seperator; }); words[wordAt] = v; v = words.join(options.multipleSeparator); } v += options.multipleSeparator; } $input.val(v); hideResultsNow(); $input.trigger("result", [selected.data, selected.value]); return true; } function onChange(crap, skipPrevCheck) { if (lastKeyPressCode == KEY.DEL) { select.hide(); return; } var currentValue = $input.val(); if (!skipPrevCheck && currentValue == previousValue) return; previousValue = currentValue; currentValue = lastWord(currentValue); if (currentValue.length >= options.minChars) { $input.addClass(options.loadingClass); if (!options.matchCase) currentValue = currentValue.toLowerCase(); request(currentValue, receiveData, hideResultsNow); } else { stopLoading(); select.hide(); } }; function trimWords(value) { if (!value) return [""]; if (!options.multiple) return [$.trim(value)]; return $.map(value.split(options.multipleSeparator), function(word) { return $.trim(value).length ? $.trim(word) : null; }); } function lastWord(value) { if (!options.multiple) return value; var words = trimWords(value); if (words.length == 1) return words[0]; var cursorAt = $(input).selection().start; if (cursorAt == value.length) { words = trimWords(value) } else { words = trimWords(value.replace(value.substring(cursorAt), "")); } return words[words.length - 1]; } function autoFill(q, sValue) { if (options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE) { $input.val($input.val() + sValue.substring(lastWord(previousValue).length)); $(input).selection(previousValue.length, previousValue.length + sValue.length); } }; function hideResults() { clearTimeout(timeout); timeout = setTimeout(hideResultsNow, 200); }; function hideResultsNow() { var wasVisible = select.visible(); select.hide(); clearTimeout(timeout); stopLoading(); if (options.mustMatch) { $input.search(function(result) { if (!result) { if (options.multiple) { var words = trimWords($input.val()).slice(0, -1); $input.val(words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "")); } else { $input.val(""); $input.trigger("result", null); } } }); } }; function receiveData(q, data) { if (data && data.length && hasFocus) { stopLoading(); select.display(data, q); autoFill(q, data[0].value); select.show(); } else { hideResultsNow(); } }; function request(term, success, failure) { if (!options.matchCase) term = term.toLowerCase(); var data = cache.load(term); if (data && data.length) { success(term, data); } else if ((typeof options.url == "string") && (options.url.length > 0)) { var extraParams = { timestamp: +new Date() }; $.each(options.extraParams, function(key, param) { extraParams[key] = typeof param == "function" ? param() : param; }); $.ajax({ mode: "abort", port: "autocomplete" + input.name, dataType: options.dataType, url: options.url, data: $.extend({ wd: lastWord(term), limit: options.max }, extraParams), success: function(data) { var parsed = options.parse && options.parse(data) || parse(data); cache.add(term, parsed); success(term, parsed); } }); } else { select.emptyList(); failure(term); } }; function parse(data) { var parsed = []; var rows = data.split("\n"); for (var i = 0; i < rows.length; i++) { var row = $.trim(rows[i]); if (row) { row = row.split("|"); parsed[parsed.length] = { data: row, value: row[0], result: options.formatResult && options.formatResult(row, row[0]) || row[0] }; } } return parsed; }; function stopLoading() { $input.removeClass(options.loadingClass); }; }; $.Autocompleter.defaults = { inputClass: "ac_input", resultsClass: "ac_results", loadingClass: "ac_loading", minChars: 1, delay: 400, matchCase: false, matchSubset: false, matchContains: false, cacheLength: 10, max: 100, mustMatch: false, extraParams: {}, selectFirst: true, formatItem: function(row) { return row[0]; }, formatMatch: null, autoFill: false, width: 0, multiple: false, multipleSeparator: ", ", highlight: function(value, term) { return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "$1"); }, scroll: true, scrollHeight: 180 }; $.Autocompleter.Cache = function(options) { var data = {}; var length = 0; function matchSubset(s, sub) { if (!options.matchCase) s = s.toLowerCase(); var i = s.indexOf(sub); if (options.matchContains == "word") { i = s.toLowerCase().search("\\b" + sub.toLowerCase()); } if (i == -1) return false; return i == 0 || options.matchContains; }; function add(q, value) { if (length > options.cacheLength) { flush(); } if (!data[q]) { length++; } data[q] = value; } function populate() { if (!options.data) return false; var stMatchSets = {}, nullData = 0; if (!options.url) options.cacheLength = 1; stMatchSets[""] = []; for (var i = 0, ol = options.data.length; i < ol; i++) { var rawValue = options.data[i]; rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue; var value = options.formatMatch(rawValue, i + 1, options.data.length); if (value === false) continue; var firstChar = value.charAt(0).toLowerCase(); if (!stMatchSets[firstChar]) stMatchSets[firstChar] = []; var row = { value: value, data: rawValue, result: options.formatResult && options.formatResult(rawValue) || value }; stMatchSets[firstChar].push(row); if (nullData++ < options.max) { stMatchSets[""].push(row); } }; $.each(stMatchSets, function(i, value) { options.cacheLength++; add(i, value); }); } setTimeout(populate, 25); function flush() { data = {}; length = 0; } return { flush: flush, add: add, populate: populate, load: function(q) { if (!options.cacheLength || !length) return null; if (!options.url && options.matchContains) { var csub = []; for (var k in data) { if (k.length > 0) { var c = data[k]; $.each(c, function(i, x) { if (matchSubset(x.value, q)) { csub.push(x); } }); } } return csub; } else if (data[q]) { return data[q]; } else if (options.matchSubset) { for (var i = q.length - 1; i >= options.minChars; i--) { var c = data[q.substr(0, i)]; if (c) { var csub = []; $.each(c, function(i, x) { if (matchSubset(x.value, q)) { csub[csub.length] = x; } }); return csub; } } } return null; } }; }; $.Autocompleter.Select = function(options, input, select, config) { var CLASSES = { ACTIVE: "ac_over" }; var listItems, active = -1, data, term = "", needsInit = true, element, list; function init() { if (!needsInit) return; element = $("
").hide().addClass(options.resultsClass).css("position", "absolute").appendTo(document.body); list = $("
    ").appendTo(element).mouseover(function(event) { if (target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') { active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event)); $(target(event)).addClass(CLASSES.ACTIVE); } }).click(function(event) { $(target(event)).addClass(CLASSES.ACTIVE); select(); input.focus(); return false; }).mousedown(function() { config.mouseDownOnSelect = true; }).mouseup(function() { config.mouseDownOnSelect = false; }); if (options.width > 0) element.css("width", options.width); needsInit = false; } function target(event) { var element = event.target; while (element && element.tagName != "LI") element = element.parentNode; if (!element) return []; return element; } function moveSelect(step) { listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE); movePosition(step); var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE); if (options.scroll) { var offset = 0; listItems.slice(0, active).each(function() { offset += this.offsetHeight; }); if ((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) { list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight()); } else if (offset < list.scrollTop()) { list.scrollTop(offset); } } }; function movePosition(step) { active += step; if (active < 0) { active = listItems.size() - 1; } else if (active >= listItems.size()) { active = 0; } } function limitNumberOfItems(available) { return options.max && options.max < available ? options.max : available; } function fillList() { list.empty(); var max = limitNumberOfItems(data.length); for (var i = 0; i < max; i++) { if (!data[i]) continue; var formatted = options.formatItem(data[i].data, i + 1, max, data[i].value, term); if (formatted === false) continue; var li = $("
  • ").html(options.highlight(formatted, term)).addClass(i % 2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0]; $.data(li, "ac_data", data[i]); } listItems = list.find("li"); if (options.selectFirst) { listItems.slice(0, 1).addClass(CLASSES.ACTIVE); active = 0; } if ($.fn.bgiframe) list.bgiframe(); } return { display: function(d, q) { init(); data = d; term = q; fillList(); }, next: function() { moveSelect(1); }, prev: function() { moveSelect(-1); }, pageUp: function() { if (active != 0 && active - 8 < 0) { moveSelect(-active); } else { moveSelect(-8); } }, pageDown: function() { if (active != listItems.size() - 1 && active + 8 > listItems.size()) { moveSelect(listItems.size() - 1 - active); } else { moveSelect(8); } }, hide: function() { element && element.hide(); listItems && listItems.removeClass(CLASSES.ACTIVE); active = -1; }, visible: function() { return element && element.is(":visible"); }, current: function() { return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]); }, show: function() { var offset = $(input).offset(); element.css({ width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(), top: offset.top + input.offsetHeight, left: offset.left }).show(); if (options.scroll) { list.scrollTop(0); list.css({ maxHeight: options.scrollHeight, overflow: 'auto' }); if ($.browser.msie && typeof document.body.style.maxHeight === "undefined") { var listHeight = 0; listItems.each(function() { listHeight += this.offsetHeight; }); var scrollbarsVisible = listHeight > options.scrollHeight; list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight); if (!scrollbarsVisible) { listItems.width(list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right"))); } } } }, selected: function() { var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE); return selected && selected.length && $.data(selected[0], "ac_data"); }, emptyList: function() { list && list.empty(); }, unbind: function() { element && element.remove(); } }; }; $.fn.selection = function(start, end) { if (start !== undefined) { return this.each(function() { if (this.createTextRange) { var selRange = this.createTextRange(); if (end === undefined || start == end) { selRange.move("character", start); selRange.select(); } else { selRange.collapse(true); selRange.moveStart("character", start); selRange.moveEnd("character", end); selRange.select(); } } else if (this.setSelectionRange) { this.setSelectionRange(start, end); } else if (this.selectionStart) { this.selectionStart = start; this.selectionEnd = end; } }); } var field = this[0]; if (field.createTextRange) { var range = document.selection.createRange(), orig = field.value, teststring = "<->", textLength = range.text.length; range.text = teststring; var caretAt = field.value.indexOf(teststring); field.value = orig; this.selection(caretAt, caretAt + textLength); return { start: caretAt, end: caretAt + textLength } } else if (field.selectionStart !== undefined) { return { start: field.selectionStart, end: field.selectionEnd } } }; })(jQuery);