Sachverhalt: A. Die Staatsanwaltschaft IV des Kantons Zürich (im Folgenden: Staatsanwaltschaft) führt ein Strafverfahren gegen den jamaikanischen Staatsangehörigen A._ wegen des Verdachts der mehrfachen versuchten Tötung. Sie wirft ihm vor, er habe am 29. April 2012, um ca. 06.00 Uhr, bei einer tätlichen Auseinandersetzung in einem Klub in Zürich unkontrolliert und wahllos mit einem Messer oder einem anderen gefährlichen Gegenstand auf mehrere Personen eingestochen. Diese hätten erhebliche Verletzungen erlitten und in das Spital verbracht werden müssen. Am 29. April 2012 nahm die Polizei A._ fest. Am 2. Mai 2012 versetzte ihn das Zwangsmassnahmengericht am Bezirksgericht Zürich (im Folgenden: Zwangsmassnahmengericht) in Untersuchungshaft. Diese wurde in der Folge jeweils verlängert. Am 15. März 2013 erhob die Staatsanwaltschaft Anklage. Mit Beschluss vom 8. Oktober 2013 wies das Bezirksgericht Zürich die Anklage zur Ergänzung an die Staatsanwaltschaft zurück. Am 22. Juli 2014 erhob diese erneut Anklage. Zudem beantragte sie die Anordnung von Sicherheitshaft. Mit Verfügung vom 5. August 2014 ordnete das Zwangsmassnahmengericht Sicherheitshaft vorerst bis zum 5. November 2014 an. Die von A._ hiergegen erhobene Beschwerde wies das Obergericht des Kantons Zürich (III. Strafkammer) am 28. August 2014 ab (Ziffer 1). Es bejahte den dringenden Tatverdacht und Fluchtgefahr. Die Dauer der Haft beurteilte es als verhältnismässig. Ersatzmassnahmen erachtete es als ungenügend. B. A._ führt Beschwerde in Strafsachen mit dem Antrag, er sei in Aufhebung von Ziffer 1 des obergerichtlichen Entscheids auf freien Fuss zu setzen; eventualiter unter Anordnung einer ambulanten Therapie und einer Meldepflicht; subeventualiter eines Electronic Monitoring. C. Das Obergericht und die Staatsanwaltschaft haben auf Vernehmlassung verzichtet. 